statische Methode aufrufen Bitte sehen Sie das folgende Beispiel:Wie durch Bezugnahme in Python
class MyClass(object):
@staticmethod
def __myStaticMethod(someArgs):
pass
MY_SPECIAL_METHOD_LIST = [
__myStaticMethod
]
@staticmethod
def someOtherMethod():
m = MyClass.MY_SPECIAL_METHOD_LIST[0]
print(m)
m()
Wenn ich jetzt die Aussage MyClass.someOtherMethod()
ich eine Ausnahme erhalten ausführen:
<staticmethod object at 0x7fd672e69898>
Traceback (most recent call last):
File "./test3.py", line 25, in <module>
MyClass.someOtherMethod()
File "./test3.py", line 21, in someOtherMethod
m()
TypeError: 'staticmethod' object is not callable
Offensichtlich m
eine Referenz enthält, die statische Methode. Aber ich kann diese Methode nicht nennen. Warum? Was muss ich ändern, um diese Methode aufzurufen?
Schau hier: http://stackoverflow.com/questions/12718187/calling-class-staticmethod-within-the-class-body – haffla
@haffla: sehr gut finden. Vielen Dank. –
Interessant. Ich suchte nach einer Antwort, fand diese aber nicht. Danke. –