gpt4 book ai didi

python - Python 中的静态变量继承

转载 作者:太空狗 更新时间:2023-10-29 17:40:09 26 4
gpt4 key购买 nike

我正在为一个项目为 Blender 编写 Python 脚本,但我对这门语言还很陌生。我感到困惑的是静态变量的使用。这是我目前正在处理的一段代码:

class panelToggle(bpy.types.Operator):
active = False

def invoke(self, context, event):
self.active = not self.active
return{'FINISHED'}

class OBJECT_OT_openConstraintPanel(panelToggle):
bl_label = "openConstraintPanel"
bl_idname = "openConstraintPanel"

想法是第二个类应该继承第一个类的active 变量和invoke 方法,以便调用OBJECT_OT_openConstraintPanel.invoke() 更改OBJECT_OT_openConstraintPanel.active。但是,像我上面那样使用 self 是行不通的,使用 panelToggle 也行不通。知道我该怎么做吗?

最佳答案

使用type(self)访问类属性

>>> class A(object):
var = 2
def write(self):
print type(self).var
>>> class B(A):
pass
>>> B().write()
2
>>> B.var = 3
>>> B().write()
3
>>> A().write()
2

关于python - Python 中的静态变量继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3475488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com