我的代码运行错误
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]
,几乎一样好,但不完全......);要不然,yield
1+ 值,使得__iter__
进入生成器函数(因此它本质上返回生成器迭代器)。
C。正确称呼它:not
a().itervalues()
但是,例如:
for x in a(): print x
or
print list(a())
itervalues
是 dict 的一种方法,与__iter__
.
如果您修复了所有三个(!)错误,代码就会运行得更好;-)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)