ここでPythonのバインドされたメソッドとバインドされていないメソッドに関する最初の回答を参照すると、質問があります。
class Test:
def method_one(self):
print "Called method_one"
@staticmethod
def method_two():
print "Called method_two"
@staticmethod
def method_three():
Test.method_two()
class T2(Test):
@staticmethod
def method_two():
print "T2"
a_test = Test()
a_test.method_one()
a_test.method_two()
a_test.method_three()
b_test = T2()
b_test.method_three()
出力を生成します:
Called method_one
Called method_two
Called method_two
Called method_two
Pythonで静的メソッドをオーバーライドする方法はありますか?
「T2」を出力することを期待b_test.method_three()
していましたが、出力しません(代わりに「Calledmethod_two」を出力します)。