重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

如何实现一个python迭代器-创新互联

这篇文章主要为大家展示了“如何实现一个python迭代器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现一个python迭代器”这篇文章吧。

成都创新互联从2013年开始,是专业互联网技术服务公司,拥有项目网站设计制作、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元和县做网站,已为上家服务,为和县各地企业和个人服务,联系电话:13518219792

分析

  • 我们都知道一个可迭代对象可以通过iter()可以返回一个迭代器。

  • 如果想要一个对象称为可迭代对象,即可以使用for,那么必须实现__iter __()方法。

  • 在一个类的实例对象想要变成迭代器,就必须实现__iter__()和__next__()方法。

  • 调用iter()时,在对象内部默认调用__iter__(),即__iter__()的返回值应该是一个迭代器。

  • for的每次循环中或者next()时,都是自动调用迭代器的__next__()方法,并有一个返回值。

实现

class Classmate:
 def __init__(self):
  self.names = []
  self.num = 0
 def add(self, name):
  self.names.append(name)
 def __iter__(self):
  return self
 def __next__(self):
  if self.num < len(self.names):
   ret = self.names[self.num]
   self.num += 1
   return ret
  else:
   raise StopIteration
c = Classmate()
c.add("张三")
c.add("李四")
c.add("王五")
for i in c:
 print(i)
"""
张三
李四
王五
"""

以上是“如何实现一个python迭代器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


标题名称:如何实现一个python迭代器-创新互联
网站URL:http://cqcxhl.cn/article/hsecj.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP