python 将对象设置为可迭代的两种实现方法

时间:2021-05-23

1、实现 __getitem__(self)

class Library(object): def __init__(self): self.value=['a','b','c','d','e'] def __getitem__(self, i): if i>=len(self.value): raise IndexError("out of index") value=self.value[i] return value

调用的时候,系统默认从0 开始传入,并使得i=i+1

2、实现 __iter__(self),next(self)

class Library2(object): def __init__(self): self.value=['a','b','c','d','e'] self.i=-1 def __iter__(self): return self def next(self): self.i += 1 if self.i>=len(self.value): raise StopIteration return self.value[self.i] test=Library2() print test.next() print test.next()

在这里可以像生成器一样使用

以上这篇python 将对象设置为可迭代的两种实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章