python functions as objects
阿新 • • 發佈:2018-05-09
args first 函數 對象 cts 關註 decorator ram 一個
第5章
1.First-Class function
這裏的first-class 的意思是 一個函數可以作為對象,在另一個函數中返回
metaclass programming中 也有 first-class class的概念,也就是說 類 可以作為對象, 在另外一個類中 創建,返回
2. 函數參數
第6章
設計模式中 Strategy 和 Command 雖然很相似,但是關註點不一樣
Strategy 模式 :
註重算法的可替代性,算法可以封裝成為一個函數對象,這個函數對象是可以更換的
Command 模式:
涉及invoker 和 receiver
第七章
總感覺有點繞,看的懂,寫的時候不會寫,所以背下來這兩種經典寫法
不帶參數的decorator的經典寫法
def decoratorFunctionName(func): @functools.wraps(func) def wrapper(*args, **kwargs): ***前置的代碼*** return func(*args, **kwargs) return wrapper
帶參數的decorator的經典寫法
def decoratorFunctionName(decoratorArguments): def decorator(func): @functools.wrapper(func) def wrapper(*args, **kwargs): ***前置的代碼中可以使用decoratorArguments*** return func(*args, **kwargs) return wrapper return decorator
python functions as objects