python 可迭代对象 迭代器 生成器,python中可迭代对象是什么意思

  python 可迭代对象 迭代器 生成器,python中可迭代对象是什么意思

  迭代是Python最强大的功能之一,它是访问集合元素的一种方式。迭代器是一个可以记住遍历位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有元素都被访问。迭代器只能向前,不能向后。

  迭代器有iter基本方法:iterator()和next()。

  字符串、列表或元组对象可用于创建迭代器:

  示例(Python 3.0)列表=[1,2,3,4]

  创建一个迭代器对象

  Print(next(it))#输出迭代器的下一个元素

  一个

  打印(下一页)

  2

  可以使用正则for语句遍历迭代器对象:

  示例(Python 3.0 )#!/usr/shy发夹/python3

  list=[1,2,3,4]

  创建一个迭代器对象

  forxinit:

  print(x,end= )

  执行上面的程序,输出结果如下:1234

  您也可以使用next()函数:

  示例(Python 3.0 )#!/usr/shy发夹/python3

  Importsys#引入sys模块

  list=[1,2,3,4]

  创建一个迭代器对象

  whileTrue:

  尝试:

  打印(下一页)

  异常停止迭代:

  sys.exit()

  执行上面的程序,输出结果如下:1

  2

  三

  四

  创建一个迭代器。

  将类用作迭代器需要在类中实现两个方法__iter__()和__next__()。

  如果你已经了解了面向对象编程,你就会知道所有的类都有一个构造函数。Python的构造函数是__init__(),将在对象初始化时执行。

  __iter__()方法返回一个特殊的迭代器对象,该对象实现__next__()方法,并通过StopIteration异常来标识迭代的完成。

  __next__()方法(Python 2中的next()将返回下一个迭代器对象。

  创建一个返回数字的迭代器,初始值为1,增量为1:

  示例(Python 3.0 )classMyNumbers:

  def__iter__(self):

  self.a=1

  回归自我

  def__next__(自己):

  x=自我

  self.a=1

  returnx

  myclass=MyNumbers()

  myiter=iter(myclass)

  打印(下一个(myiter))

  打印(下一个(myiter))

  打印(下一个(myiter))

  打印(下一个(myiter))

  打印(下一个(myiter))

  执行结果是:1

  2

  三

  四

  五

  停止迭代

  StopIteration异常用于标识迭代的完成,防止无限循环的发生。在__next__()方法中,我们可以将StopIteration异常设置为在完成指定数量的循环以结束迭代后触发。

  20次迭代后停止执行:

  示例(Python 3.0 )classMyNumbers:

  def__iter__(self):

  self.a=1

  回归自我

  def__next__(自己):

  ifself.a=20:

  x=自我

  self.a=1

  returnx

  否则:

  提高生产率

  myclass=MyNumbers()

  myiter=iter(myclass)

  forxinmyiter:

  打印(x)

  执行结果是:1

  2

  三

  四

  五

  六

  七

  八

  九

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: