1.迭代器是一个可以记住遍历位置的对象;迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问才会结束,且只能前进不能后退。迭代器有两个基本方法:iter()和next()。
L = ['6','7','8','9']
# 创建迭代器
itr = iter(L)
# print(next(itr))
# print(next(itr))
# print(next(itr))
# print(next(itr))
# 遍历
m = 0
while m < len(L):
try:
print(next(itr))
# Python异常处理
except StopIteration:
break
# 迭代器对象可以使用for循环遍历
for item in itr:
print(item)
2.在Python,使用了yield的函数被称为生成器
①、生成器就是一个返回迭代器的函数,只能用于迭代操作。
②、在调用生成器过程中每次遇到yield时函数会暂停保存当前的所有运行信息,返回yield值,并在下一次执行next方法时从当前位置继续执行
注:感觉就像一个循环被分次使用,每使用一次next()执行一次循环,每次循环完成返回yield值
# 生成器函数 - 斐波那契
def fibonacci(n):
a,b,count = 0,1,0
while count <= n:
yield b
a,b = b,a+b
count += 1
ftr = fibonacci(10)
while True:
try:
print(next(ftr))
except StopIteration:
break
3.Python异常处理
name = 'CaiBird_'
del name
# 捕获异常
try:
print('输出名字:',name)
except (NameError,TypeError):
print('name or type error diy')
finally:
print('Goodbye, world!')
# 抛出异常
raise StopIteration