-1

如果我的班级有一个我已经映射到其他东西的变量。几乎就像该类将对象包装在软件包中一样,例如 3d 节点或其他东西。

当类中的变量发生更改时,那个简单的属性更改然后我想运行一个在 3d 节点上设置该属性的函数。与 myClass.translateX 一样,更改此属性将运行一个函数来更新 3d 节点的 translateX。

希望这是有道理的,我的 google foo 失败了,所以也许我没有使用正确的术语。

4

1 回答 1

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
于 2013-02-09T14:07:22.010 回答