gpt4 book ai didi

python - 我不知道 python 中的 __iter__,谁能给我一个很好的代码示例

转载 作者:太空狗 更新时间:2023-10-29 22:02:06 24 4
gpt4 key购买 nike

我的代码运行错误

class a(object):
def __iter(self):
return 33
b={'a':'aaa','b':'bbb'}
c=a()
print b.itervalues()
print c.itervalues()

请尽量使用代码,而不是文字,因为我的英文不是很好,谢谢

最佳答案

一个。拼写正确:不是

   def __iter(self):

但是:

   def __iter__(self):

__ 之前和 iter 之后

使 body 正确:不是

return 33

但是:

yield 33

或者 返回 iter([33])

如果您从__iter__返回一个值,返回一个迭代器(一个iterable,如return [33], 几乎一样好但不完全...);否则,yield 1+ 个值,使 __iter__ 成为一个生成器函数(因此它本质上返回一个生成器迭代器)。

正确称呼:不是

a().itervalues()

但是,例如:

for x in a(): print x

print list(a())

itervalues是dict的一个方法,与__iter__无关。

如果您修复所有三个 (!) 错误,代码将运行得更好;-)。

关于python - 我不知道 python 中的 __iter__,谁能给我一个很好的代码示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1956623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com