gib*_*ish 12 python syntax inheritance static blender
我正在为一个项目为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"
Run Code Online (Sandbox Code Playgroud)
我们的想法是第二个类应该从第一个类继承活动变量和invoke方法,以便调用OBJECT_OT_openConstraintPanel.invoke()更改OBJECT_OT_openConstraintPanel.active.但是,如上所述使用self不会起作用,也不会使用panelToggle.知道我怎么回事吗?
Odo*_*ois 21
使用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
Run Code Online (Sandbox Code Playgroud)