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

How to access python static method which contain instance members?

我尝试在 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: addNappend() 缺少 1 个必需的位置参数:'c']

需要改变什么?谢谢大家

信息很明确:该方法需要两个参数:一个 ABC 对象和另一个值;这些是位置参数。由于您将其称为 class 方法,而不是 instance 方法,因此您必须明确提供 ABC目的。目前,您没有 self 可以更改;你期望那个电话做什么?

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

phone_button = ABC()
phone_button.addNappend(30)

请注意,这与将其设为静态方法完全无关......这似乎在 class.

中没有任何作用