如果我的类有一个我已映射到其他内容的变量。几乎就像该类将对象包装在软件包中一样,如3d节点或其他东西。
当类中的变量发生更改时,那个简单的属性更改我想要运行一个在3d节点上设置该属性的函数。与myClass.translateX一样,更改此attr将运行一个函数来更新3d节点的translateX。
希望这是有道理的,我的谷歌foo已经失败,所以也许我没有使用正确的术语。
答案 0 :(得分:1)
我想你想要property
。它允许您将类实例上的属性访问映射到函数调用,您可以使用它来对3d对象执行必要的操作:
class My3dNodeWrapper(object):
def __init__(self):
self.node = Some3dNodeThing()
@property
def translateX(self):
return self.node.getXTranslation() # or whatever
@translateX.setter
def translateX(self, value):
self.node.setXTranslation(value) # or whatever