是否可以迭代Tuple traitlets?



我将我的一些lib变量转换为traitlets,并且在Tuple上迭代时我面临错误,尽管这可能与内置的tuple

from traitlets import Tuple
a = Tuple((1,2,4)).tag(sync=True)
for i in a:
print(i)
>>> ---------------------------------------------------------------------------
>>> TypeError                                 Traceback (most recent call last)
>>> /Users/pierrickrambaud/Documents/travail/FAO/app_buffer/sepal_ui/untitled.ipynb >>> Cellule 14 in <cell line: 1>()
>>> ----> 1 for i in a: 
>>>       2     print(i)
>>>  
>>> TypeError: 'Tuple' object is not iterable

与正常tuple:

a = (1, 2, 3)
for i in a: 
print(i)
>>> 1
>>> 2
>>> 3

这是一个bug还是预期的行为?

答案当然是肯定的。

我在我的应用程序中得到的问题是由于打字错误,错误只是一个副作用,对于未来的读者,我给出的小例子并没有显示应该使用的特性的行为。相反,在扩展HasTraits:

的类中创建trait
from traitlets import Tuple, HasTraits
class A(HasTraits):
toto = Tuple((1,2,3))
a = A() 
for i in a.toto:
print(i)

>>> 1
>>> 2
>>> 3

相关内容

  • 没有找到相关文章

最新更新