traits.Tuple对象中traits.Tuple值的初始化

时间:2018-08-23 17:28:51

标签: python python-3.x traits

>>> import traits.api as traits
>>> class Foo(traits.HasTraits):
...  eTest = traits.Tuple((0.0001, 60, traits.Tuple(traits.Bool(False), traits.Bool(True))))
... 
>>> a=Foo()
>>> a.eTest
(0.0001, 60, <traits.trait_types.Tuple object at 0x7fa825fceac8>)
>>> a.eTest=(0.0001, 60, (False, True))
>>> a.eTest
(0.0001, 60, (False, True))

如何将a.eTest的值初始化为(0.0001,60,(False,True))。 ?目前,我需要在实例化a之后定义a.eTest =(0.0001,60,(False,True))。

1 个答案:

答案 0 :(得分:0)

细节决定成败...

>>> class Foo(traits.HasTraits):
...  eTest = traits.Tuple(0.0001, 60, traits.Tuple(traits.Bool(False), traits.Bool(True)))
... 
>>> a=Foo()
>>> a.eTest
(0.0001, 60, (False, True))

尝试了很多事情之后,我注意到通过不将元组指定为第一个参数,可以得到想要的结果!我承认我不完全了解traits模块中的所有内容。 For example it seems that by not specifying a tuple as the first argument, the default values would be the default values for the corresponding trait types !!!