我有一个班级class Test(object): @staticmethod def f(str): print(str) a = f('aaa')如何正确操作?我有错误。classmethod 属性也会出错。请不要建议从课堂外打电话,我希望以这种方式实现它。'staticmethod' object is not callable
3 回答
慕森卡
TA贡献1806条经验 获得超8个赞
class Test(object):
@staticmethod
def f(str):
print(str)
a = f.__func__('aaa')
倚天杖
TA贡献1828条经验 获得超3个赞
从文档中:
它可以在类(如 C.f())或实例(如 C().f())上调用。该实例将被忽略,但其类除外。
因此,您需要在类中的另一个函数中调用它,或者从该类创建一个对象实例。例如:
class Test(object):
def __init__(self):
self.a = self.f('aaa')
@staticmethod
def f(str):
print(str)
添加回答
举报
0/150
提交
取消