如何從子類訪問靜態函數。Python3:從子類訪問靜態函數
class Parent:
bar = []
@classmethod
def foo(cls):
print(' | '.join(cls.bar))
class Child_A(Parent):
bar = ['abs', 'arq', 'agf']
foo() # ERROR: NameError: name 'foo' is not defined
### abs | arq | agf
class Child_B(Parent):
bar = ['baz', 'bux', 'bet']
foo() # ERROR: NameError: name 'foo' is not defined
### baz | bux | bet
class Child_C(Parent):
bar = ['cat', 'cqy', 'cos']
foo() # ERROR: NameError: name 'foo' is not defined
### cat | cqy | cos
每個孩子都有自己的一套bar
名單,我想他們使用foo()
功能從父類打印出正確的字符串。
你有一個類的方法。只需使用父對象而無需實例化。 'Parent.foo()' – Kasramvd
'Parent.foo()'返回'Parent.bar',而不是'Child.bar'。 – MakPo
如果這是你想要的,請完全在你的問題中解釋它。 – Kasramvd