裝飾器,生成器
阿新 • • 發佈:2019-05-10
bsp 註意 獲取 **kwargs 返回 func nbsp def 內部
裝飾器
作用:
用於擴展原函數功能的一種函數
將被裝飾函數函數作為參數傳入,裝飾器內部定義一個函數,內部函數的作用是調用被裝飾函數,定義新功能,為被裝飾函數傳遞參數,最後要返回定義的函數
實例:
import time
def func2(fun):
def func3(*args,**kwargs):
print(‘輸入數據是‘,args)
fun(*args,**kwargs)
return func3
@func2
def func(a, b):
print("hello,here is a func for add :")time.sleep(1)
print("result is %d" % (a + b))
func(2,5)
生成器
通過邊循環邊計算的方式生成列表,避免一次創建列表占用大量內存的問題
註意列表生成式和生成器之間的差別:
l=[x*x for x in range(10)] #列表生成式,一次創建列表,占用內存
g=(x*x for x in range(10)) #生成器,通過next(g)或for循環獲取
裝飾器,生成器