#coding:utf-8"""
闭包示例
"""deffunc():
res = []
defput(x):
res.append(x)
defget():return res
return put, get
p, g = func()
p(1)
p(2)
print("当前res值", g())
p(3)
p(4)
print("当前res值", g())
关键词yield
yield关键词可以将函数执行的中间结果返回但不结束程序。
#coding:utf-8"""
使用yield打印fibonacci数列
"""deffab(max):
n, a, b = 0, 0, 1while n < max:
yield b
a, b = b, a+b
n += 1# 打印fibonacci数列前5项for n in fab(5):
print(n)