|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Xx_Nemesis_xX 于 2020-10-7 12:00 编辑
小白想问一个简单的问题,
class MyRev:
def __init__(self,args):
self.Mylist = list(args)
self.Lenlist = len(self.Mylist)
def __iter__(self):
return self
def __next__(self):
self.Lenlist -= 1
if self.Lenlist < 0:
raise StopIteration
return (self.Mylist[self.Lenlist],self.Lenlist)
请问如果令实例对象
myRev = MyRev("love")
for i in myRev:
print(i,end="")
('e', 3)('v', 2)('o', 1)('l', 0)
其中的__iter__函数返回的self在哪里体现呢?这个细节点麻烦指点,谢谢~
本帖最后由 疾风怪盗 于 2020-10-7 11:56 编辑
return 语句下面的代码是不执行的
和break一样
如果你用pycharm之类的IDE,就会发现报错提示了
myRev = Myev("icarus")这个也拼写错了
- class MyRev:
- def __init__(self,args):
- self.Mylist = list(args)
- self.Lenlist = len(self.Mylist)
- def __iter__(self):
- return self
- def __next__(self):
- self.Lenlist -= 1
- if self.Lenlist < 0:
- raise StopIteration
- return (self.Mylist[self.Lenlist],self.Lenlist)
- myRev = MyRev("icarus")
- for i in myRev:
- print(i,end="")
复制代码
('s', 5)('u', 4)('r', 3)('a', 2)('c', 1)('i', 0)
Process finished with exit code 0
|
|