>>> 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))。
答案 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 !!!