生成器 (斐波拉契數(shù)列)
def fib(times):
n = 0
a,b = 0,1
while n<times:
print(b)
a,b = b,a+b
n+=1
return 'done'
迭代器
可以被next()函數(shù)調(diào)用并不斷返回下一個(gè)值的對(duì)象稱為迭代器:Iterator。
可以使用 isinstance() 判斷一個(gè)對(duì)象是否是 Iterator 對(duì)象:
from collections import Iterator
isinstance((x for x in range(10)), Iterator)
True
isinstance([], Iterator)
False
isinstance({}, Iterator)
False
isinstance('abc', Iterator)
False
isinstance(100, Iterator)
False
裝飾器
def w1(fun):
def inner():
print("驗(yàn)證")
fun()
return inner
def test():
print("哈哈哈")
test = w1(test)
test()
def w1(fun):
def inner():
print("驗(yàn)證")
fun()
return inner
@w1
def test():
print("哈哈哈")
test()