使用python实例时,可以使用self
访问相同类的绑定方法。这将解析为与层次结构中相同类相对应的方法。
class A:
def f(self):
return 1
class B(A):
def f(self):
return 2
def __init__(self):
self.v = self.f()
b = B()
# b.v is set to 2
但是,当使用类方法时,没有明显的方法可以访问上述相同类的方法。
在我的用例中,上面的f
必须是一个类方法,我需要根据对应于同一类的v
来设置类变量f
。有点像:
class A:
@classmethod
def f(cls):
return 1
class B(A):
@classmethod
def f(cls):
return 2
v = resolution_of_B.f()
# B.v should be 2
我不是100%肯定我了解您要做什么。
我在上面使用了您的代码,
class A:
@classmethod
def f(cls):
return 1
class B:
@classmethod
def f(cls):
return 2
print(B.f())
按照我的预期给了我2。 B是否应该像第一个示例一样是A的子类?