gpt4 book ai didi

python - 为什么这段代码打印 None ?

转载 作者:行者123 更新时间:2023-12-01 03:47:20 26 4
gpt4 key购买 nike

尝试执行以下程序及其打印值None。谁能帮我解释一下为什么它打印None

class Myself(object):
def __init__(self):
self.record={}
def __iter__(self):
self._roles = list(self.record.keys())
#print ("in iter self._roles",type(self._roles))
return self
def __next__(self):
if self._roles:
return self._roles.pop()
else:
StopIteration

def __setitem__(self,key,value):
self.record[key]=value
def __getitem__(self,key):
return self.record.get(key,"No record found")

def list_all(self):
for detail in self.record:
print (self.record[detail])

def main():
mydetails = Myself()

mydetails['name']='Python'
mydetails['age']='26'
mydetails['job']='software'
mydetails.list_all()

for x in mydetails:
print (x,":",mydetails[x])

main()

最佳答案

您应该引发StopIteration:

def __next__(self):
if self._roles:
return self._roles.pop()
else:
raise StopIteration

关于python - 为什么这段代码打印 None ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38782905/

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