При работе с экземплярами Python можно получить доступ к связанным методам того же класса, используя self
. Это разрешает метод, соответствующий тому же классу в иерархии.
class A:
def f(self):
return 1
def __init__(self):
self.v = self.f()
class B(A):
def f(self):
return 2
b = B()
# b.v is set to 2
Но при работе с методами класса не существует очевидного способа доступа к методам того же класса, что и выше.
В моем случае f
выше должно быть методом класса, и мне нужно установить переменную класса v
в соответствии с f
, соответствующей тому же классу. Примерно так:
class A:
@classmethod
def f(cls):
return 1
v = resolution_of_calling_class.f()
class B(A):
@classmethod
def f(cls):
return 2
# B.v should be 2
edit : v
на самом деле является атрибутом, определенным родительским классом, который должен найти метод, переопределенный дочерним классом