迭代器
定义:
迭代是Python最强大的功能之一,是访问集合元素的一种方式。
本质:
迭代器本质是一个对象,是一个可以记住遍历的位置的对象。
功能:
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完毕就结束。只能往前不能往后
迭代器有两个基本方法:
lter() # 创建迭代对象
next() # 迭代器的下一个元素
特别说明:
字符串、列表或者元组都可以用于创建迭代器对象
实例分析:
list = [1, 2, 3, 4]
lt = lter(list) # 创建一个迭代器对象
print(next(lt)) # 1
生成器
定义:
在Python中,使用了yield关键字的函数被称为生成器
本质:
跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,也可以将生成器理解为一个迭代器
使用:
在调用生成器运行过程中,每次遇到yield时,函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时,从当前位置继续执行
特别说明:
调用一个生成器函数,返回的是一个迭代器对象
实例分析:
def func1():
yield 1
yield from func2
yiedl 2
def func2():
yield 3
yield 4
f = func1()
for i in f:
print(i) # 1 3 4 2