Iterable是一个可以迭代的对象。它传递给iter()
方法时会生成一个迭代器。Iterator是一个对象,用于使用__next __()方法迭代可迭代对象。迭代器有 __next__()
方法,它返回对象的下一个项目。
请注意,每个迭代器也是可迭代的,但并非每个迭代都是迭代器。例如,列表是可迭代的,但列表不是迭代器。可以使用该函数从迭代中创建迭代器iter()
。为了实现这一点,对象的类需要一个__iter__
返回迭代器的__getitem__
方法,或一个序列索引从0开始的方法。
for city in ["Berlin", "Vienna", "Zurich"]:
print(city)
print("\n")
for city in ("Python", "Perl", "Ruby"):
print(city)
print("\n")
for char in "Iteration is easy":
print(char, end = " ")
当执行for循环时,对于iter()
对象的语句调用,它应该循环。如果此调用成功,则iter调用将返回定义方法的迭代器对象,__next__()
该对象一次访问一个对象的元素。如果没有其他可用元素,该__next__()
方法将引发StopIteration
异常。一旦捕获到StopIteration异常,for循环就会终止。
让我们__next__()
使用next()内置函数调用该方法。
# list of cities
cities = ["Berlin", "Vienna", "Zurich"]
# intialize the object
iterator_obj = iter(cities)
print(next(iterator_obj))
print(next(iterator_obj))
print(next(iterator_obj))
三个资料Q群下载不了也转发不了,先放这里Fine_tuning.zipLangChain.zipdata_clear.rar