我只是在蟒蛇裝飾玩耍,享受的經驗,給我裝飾類似乎更清潔對我來說比裝飾功能,所以我一直在玩這個設計帶參數,改變類型
def returns(object):
"""Enforces return to a specific type"""
def __init__(self, returns):
self.returns = returns
def __call__(self, func):
def wrapped(*args):
out = func(*args)
return self.returns(out)
return wrapped
@returns(int)
def test():
return '4'
Python的裝飾類
問題與上面的代碼是返回
------------------------------------------------------------
Traceback (most recent call last):
File "", line 1, in <module>
File "", line 122, in runfile
execfile(filename, glbs)
File "", line 33, in <module>
@returns(int)
TypeError: 'NoneType' object is not callable
我想知道爲什麼我可以調用INT()之類的功能,它有一個可調用的方法,但在這裏說,這是它的NoneType和不可調用。
任何想法?
編輯:請不要再回答問題已經解決,我明白我做錯了什麼。它是一個錯字和im定義一個功能不是類
林要去bash的我的頭,感謝察覺這 – 2011-06-13 08:43:34