- 💂 个人网站:【海拥】【摸鱼小游戏】【学习文档】
- 🤟 风趣幽默的前端学习课程
- 💅 想寻找共同学习交流、摸鱼划水的小伙伴
- 💬 免费且实用的 Python 刷题(面经大全)网站
可迭代是一个对象,可以迭代。它在传递给iter()方法时生成一个迭代器。迭代器是一个对象,用于使用__next__()方法循环访问可迭代对象。迭代器具有__next__()方法,该方法返回对象的下一项。
注意: 每个迭代器也是可迭代的,但并非每个可迭代器都是 Python 中的迭代器。
例如,列表是可迭代的,但列表不是迭代器。可以使用函数 iter() 从可迭代对象创建迭代器。为了实现这一点,对象的类需要一个方法__iter__,它返回一个迭代器,或者一个__getitem__方法,其顺序索引以 0 开头。
示例 1:
我们知道 str 是可迭代的,但它不是迭代器。如果我们在for循环中运行它来打印字符串,那么这是可能的,因为当for循环执行时,它会转换为迭代器来执行代码。
BB
代码
next("GFG")
这里iter( )正在将字符串(可迭代)的s转换为迭代器,并首次打印G,我们可以多次调用以迭代字符串。
当执行 for 循环时,for 语句在对象上调用 iter(),它应该循环访问该对象。
如果此调用成功,则迭代器调用将返回一个迭代器对象,该对象定义方法 next(),该方法一次访问一个对象的元素。
输出:
如果没有其他可用的元素,next() 方法将引发停止站点异常。
for 循环将在捕获停止站点异常后立即终止。
让我们使用 next() 内置函数调用__next__() 方法。
示例 2:
如果对象“obj”是可迭代的,则函数“可迭代”将返回 True,否则返回 False。
输出:
注意: 如果再次调用“next(iterator_obj)”,它将返回“停止站点”。
示例 3:
检查对象是否可迭代。
输出:
















