#Python 的内置函数 iter
说明:获取可迭代对象的迭代器。
#函数说明
def iter(iterable):
'''
获取可迭代对象的迭代器
:param iterable: 一个可迭代对象
:return: 参数的迭代器
'''
说明
通过调用该对象的 __iter__
方法,获取可迭代对象的迭代器。
参数
iterable
- 要获取迭代器的可迭代对象
返回值
可迭代对象的迭代器
def iter(iterable, sentinel):
'''
获取可迭代对象的迭代器
:param iterable: 一个可迭代对象
:param sentinel: 哨兵值
:return: 参数的迭代器
'''
说明
通过调用该对象的 __iter__
方法,获取可迭代对象的迭代器。
iterable
参数必须是一个可调用对象,每次调用迭代器的 __next__
方法时,都会同时不带参数地调用 iterable
;如果返回值等于 sentinel
,则会产生 StopIteration
异常。
参数
iterable
- 要获取迭代器的可迭代对象sentinel
- 哨兵值
返回值
可迭代对象的迭代器
#示例
# 迭代器
class Iterator:
def __init__(self, stop):
self.__stop = stop
self.__current = 0
def __next__(self):
if self.__current < self.__stop:
self.__current += 1
return self.__current - 1
else:
raise StopIteration
# 可迭代对象
class Iterable:
def __init__(self, stop):
self.__iterator = Iterator(stop)
def __iter__(self):
return self.__iterator
# 创建可迭代对象
iterable = Iterable(10)
# 获取迭代器
iterator = iter(iterable)
print(iterator)