Обращаясь к first answer о связанных и несвязанных методах Python здесь, у меня есть вопрос:Переопределение статического метода в 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?
Я ожидал, что b_test.method_three()
напечатать «T2», но это не так (вместо этого напечатано «Called method_two»).
Спасибо большое! Это то, чего я хотел. – Emma
Действительно полезно. В моем случае мне нужно было получить доступ к классу экземпляра. Я сделал это следующим образом: 'instance .__ class __. My_method()' – Caumons