首页 > 编程 > Python > 正文

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

2019-11-25 13:26:10
字体:
来源:转载
供稿:网友

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 将对象设置为可迭代的两种实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表