Nawiązując do first answer o metodach związanych i niezwiązanych Pythona tutaj mam pytanie:Przesłanianie metody statyczne w Pythonie
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()
produkuje wyjście:
Called method_one
Called method_two
Called method_two
Called method_two
Czy istnieje sposób aby przesłonić metoda statyczna w python?
Spodziewałem się, że b_test.method_three()
wydrukuje "T2", ale tak się nie stanie (zamiast tego drukuje "Called method_two").
Wielkie dzięki! Tego właśnie chciałem. – Emma
Naprawdę przydatne. W moim przypadku potrzebowałem dostępu do klasy instancji. Zrobiłem to tak: 'instance .__ class __. My_method()' – Caumons