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

2023-11-25

我的代码运行错误

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

请尝试使用代码,而不是文本,因为我的英语不是很好,谢谢


A。拼写正确:not

   def __iter(self):

but:

   def __iter__(self):

with __ before and after iter.

b.使身体正确:not

return 33

but:

yield 33

或者 返回迭代器([33])

If you return一个值来自__iter__,返回一个迭代器(iterable, as in return [33],几乎一样好,但不完全......);要不然,yield1+ 值,使得__iter__进入生成器函数(因此它本质上返回生成器迭代器)。

C。正确称呼它:not

a().itervalues()

但是,例如:

for x in a(): print x

or

print list(a())

itervalues是 dict 的一种方法,与__iter__.

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我不知道Python中的__iter__,谁能给我一个好的代码示例 的相关文章

随机推荐