【发布时间】:2012-03-31 20:29:17
【问题描述】:
在 Python EPD Traits 中,我可以使用属性或处理“主”变量更改的方法中的操作来使依赖于其他变量的变量保持最新。
我在这里展示了两种方式,首先是一个属性:
from traits.api import HasTraits, Int, Property
class MyClass(HasTraits):
val = Int
dependent = Property(depends_on = 'val')
def _get_dependent(self):
return 4*self.val
现在有了一个特征处理程序:
from traits.api import HasTraits, Int
class MyClass(HasTraits):
val = Int
dependent = Int
def _val_changed(self):
self.dependent = 4*self.val
我的问题是,我应该什么时候使用什么?在研究这一点时,我意识到一个区别是,在使用属性的情况下,如果像这里这样设置,“因”变量将变为只读。但是比方说,依赖是真的依赖,我从来没有足够的知识来直接设置它,还有我应该注意的区别吗?
编辑:这类似于我的other Traits related question,但没有直接关系。
【问题讨论】: