如何访问包含实例成员的python静态方法



我尝试在python中学习静态方法。这是我的代码-

class ABC:
def __init__(self):
self.a = 10
self.b = 20
self.lst = []
@staticmethod
def addNappend(self, c):
sum = self.a + self.b + c
self.lst.append(sum)
print(self.lst)
if __name__ == '__main__':
ABC.addNappend(30)

运行代码时出错。[TypeError:addNapend((缺少1个必需的位置参数:"c"]

需要更改什么?感谢大家。

消息很清楚:该方法需要两个参数:一个ABC对象和另一个值;这些都是位置论点。由于您将其称为方法,而不是实例的方法,因此必须显式提供ABC对象。目前,您没有可更改的self;你希望那个电话能做什么?

相反,实例化一个对象并使用它:

phone_button = ABC()
phone_button.addNappend(30)

注意,这与使其成为静态方法完全无关。。。这在这个班里似乎没有用。

最新更新