Это довольно просто, просто исправьте проход двоеточий в self
и cls
:
class A:
@staticmethod
def some_method():
# pass
return
@classmethod
def do_something(cls):
cls.some_method()
return
class B(A):
@staticmethod
def some_method():
print("I did stuff!")
return
@classmethod
def run(cls):
B.do_something()
return
k = B()
k.run()
>>>"I did stuff!"
И если вы хотите вызвать старый do_something
(тот, что в классе A) из класса B, просто передайте соответствующий класс. В классе B:
@classmethod
def run(cls):
A.do_something()
return