说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
object.__iter__(self)
方法是 Python 中的一个特殊方法,用于定义对象的迭代行为。当对象被用于迭代(例如在 for 循环中)时,Python 会调用该方法来获取一个迭代器,从而允许对对象进行迭代操作。
object.__iter__(self)
此方法会在需要为一个容器创建 iterator 时被调用。 此方法应当返回一个新的迭代器对象,它可以对容器中的所有对象执行迭代。 对于映射,它应当对窗口中的键执行迭代。通常情况下,__iter__()
方法应返回一个实现了迭代器协议的对象,即具有 __next__()
方法的对象,或者自身就是一个生成器(包含 yield 关键字)。迭代器会持续产生序列中的下一个元素,直到序列被耗尽。
以下是一个简单的示例说明如何在自定义类中使用 __iter__()
方法:
class MyRange:
def __init__(self, start, end):
self.start = start
self.end = end
def __iter__(self):
current = self.start
while current < self.end:
yield current
current += 1
# 使用示例
my_range = MyRange(0, 5)
for num in my_range:
print(num)
在上面的示例中,MyRange 类实现了 __iter__()
方法,使得该类的实例可以被用于迭代操作。当对象被迭代时,__iter__()
方法返回一个生成器对象,该生成器通过 yield 语句不断产生序列中的下一个元素,直到序列结束。
https://docs.python.org/zh-cn/3/reference/datamodel.html#object.__iter__
更新时间:March 4, 2024, 9:22 p.m. 标签:python 特殊方法 迭代