__CA__.py
8 years ago
__CA__.py
8 years ago
decorator 遇到 self instance 的狀況真的很不直覺
直覺上你會 decorate 一個 bound method,並不是
而且如果你是用 class 的 call 來實作的話 self 會直接從 args 消失
__CA__.py
8 years ago
用 function 或用 class decorate 的結果也不相同,前者用 functools.wraps 可以拿到正常的 bound method,後者拿到的卻是該 class decorator instance
__CA__.py
8 years ago
也許 class 只拿來實作有參數的 decorator 是比較適當的,decorator(...) 的語法實際上也可視為 decorator 的 factory
立即下載
class 的作法應該可以自己實做 get,把 instance partial apply 上去來解決
要符合我們期望的狀況他要綁兩個 instance,一個是 decorator class 的 instance,一個是真正在呼叫的 instance。預設狀況為什麼沒有把真正的 instance 傳入我就不是很確定,不夠熟。