yield:在python中,使用yield的函数是一个generator
generator(生成器):
在每次调用next()的时候执行,当遇到yield时返回结果。
并且当再次执行时,从上次返回的yield出继续执行。
与普通函数的区别:普通函数是顺序执行的,直到遇到return或者函数的最后一行时返回
iterator:迭代器
是一个可以记住遍历的位置的函数
只可往前、不可往后
有2个方法:iter()和next()
iter()用于创建迭代器对象,eg: list=[1, 2, 3], myIter = iter(list)
#!/usr/bin/python3
import sys # 引入 sys 模块
list=[1,2,3,4]
it = iter(list) # 创建迭代器对象
while True:
try:
print (next(it))
except StopIteration:
sys.exit()