【发布时间】:2022-05-18 22:20:11
【问题描述】:
我有一个只包含属性的类,我想打包/解包来处理它。我应该实现什么collections.abc 来获得这种行为?
class Item(object):
def __init__(self, name, age, gender)
self.name = name
self.age = age
self.gender = gender
a, b, c = Item("Henry", 90, "male")
我想避免使用namedtuple。
【问题讨论】:
-
可以解压任意
Iterable,所以需要实现__iter__。 -
这取决于您是否想要
__iter__到return self- 例如,您可以只使用return iter((self.name, self.age, self.gender))。它必须是iterable,但不一定是一个迭代器。 -
好的,谢谢,我想我明白了。
标签: python python-2.7