2015-08-30 39 views
1

考慮下面的代碼:蟒:使用模塊功能作爲一個靜態方法

from module import some_function 
class SomeClass: 
    @staticmethod 
    def class_function(*args, **kwargs): 
     return some_function(*args, **kwargs) 

靜態方法是一個簡單的類包裝到module.some_function。爲什麼我不能用簡單的變量賦值來做到這一點。現在

from module import some_function 
class SomeClass: 
    class_function = some_function 

class_function不再是staticmethod,也不能用於裝飾。有沒有解決的辦法?

乾杯。

回答

3

使用staticmethod非裝飾方式:

from module import some_function 
class SomeClass: 
    class_function = staticmethod(some_function) 
+0

真棒。我知道它應該是這樣,只是不知道如何以正確的方式包裝裝飾者。謝謝! – ahmohamed

相關問題