gpt4 book ai didi

python - @staticmethod 可以继承吗?

转载 作者:太空狗 更新时间:2023-10-30 01:03:46 34 4
gpt4 key购买 nike

问题就是这么说的。我有一个在辅助函数中调用静态方法的抽象类,我希望子类简单地定义静态方法并使用它运行。

也许我可以使用 getattr 之类的东西?我应该改用@classmethod 吗?

最佳答案

像这样:

class A(object):
def func(self):
self.f()

class B(A):
@staticmethod
def f():
print "I'm B"

测试:

>>> a=x.A()
>>> a.func()
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "x.py", line 3, in func
self.f()
AttributeError: 'A' object has no attribute 'f'
>>> b=x.B()
>>> b.func()
I'm B

A 不能单独工作,并且有一个调用静态方法的辅助函数。 B 定义静态方法。如果我正确理解您想要什么,这将起作用...

关于python - @staticmethod 可以继承吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5060172/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com