1
我正在製作一組調用在不同模塊中定義的函數的類。要知道他們必須調用哪個函數,該函數將被存儲爲該類的一個變量(或者至少這是我所嘗試的)。但是,當我嘗試調用它時,它會自動假定該函數是一個類方法,並將「self」作爲參數傳遞,這在邏輯上會導致錯誤,因爲該函數接收的參數過多。你知道我怎樣才能避免這個函數成爲一個類的方法。Python中,如何將非類方法保留爲非類方法?
的代碼將是這樣的:
# Module A
def func1(a):
print a
def func2(a):
print a,a
# Module B
from A import *
class Parent:
def func():
self.sonFunc("Hiya!")
class Son1:
sonFunc = func1
class Son2:
sonFunc = func2
so = Son1()
s.func()
# Should print "Hiya!"
s = Son2()
s.func()
# Should print "Hiya! Hiya!"
感謝
+1爲非標準/奇數。 –
哇,謝謝。 'staticmethod'完美地解決了它。儘管目前這是過分的,但我喜歡閱讀元類。 – Blackzafiro