我只想能够解包类foo的实例变量,例如:
x = foo("name", "999", "24", "0.222")
a, b, c, d = *x
a, b, c, d = [*x]
我不确定在实现我自己的__iter__
方法时,哪种方法是正确的,但是后者是一种混合了“成功”的方法。我之所以说mixed,是因为使用呈现的代码这样做会改变原始实例对象x
,因此它不再有效。在
我在这个网站上读过无数关于__iter__
,__next__
,生成器等的帖子,还有一本python的书和docs.python.org似乎无法理解我所不理解的。我发现__iter__
需要返回一个iterable(它可以是self
,但我不确定这是如何实现我想要的)。我也尝试过各种方法来实现__next__
和迭代{
我不相信这是一个重复的帖子,因为我看到的唯一类似的问题只呈现了一个列表序列对象属性,或者使用了一个数字范围而不是四个非容器变量。在
您可以将参数存储在属性(
self.e
)中,或在函数调用时返回它们:如果需要实例的变量,应使用
.self
访问它们:有了这个变化
^{pr2}$会给你变量。在
您可以使用更危险的方法使用},按变量名对其进行排序(这就是为什么它也是一个有限的变量,变量不按顺序保存),然后提取每个元组的第二个元素。但我要说迭代器绝对是更好的。在
vars(x)
或{相关问题 更多 >
编程相关推荐