用静态方法修改变量

时间:2020-08-16 13:19:41

标签: python static-methods

我知道应该将静态方法保持在最低水平,并且静态方法的整体思想是它们不与类交互,但是有办法吗?

要求:

class系统具有2个属性-可分割和可见,它们是空列表

静态方法register_divisible(name)接受参数名称并将其附加到整除

示例:

class System:
    def __init__(self):
        self.divisible = []
        self.obvisible = []

    @staticmethod
    def register_divisible(name):
        self._divisible.append(name)

1 个答案:

答案 0 :(得分:0)

为此要求,您必须在构造函数之外定义divisibleobvisible并使用类名而不是self引用变量

class System:
    divisible = []
    obvisible = []

    @staticmethod
    def register_divisible(name):
        System.divisible.append(name)

#Instance        
a=System()
a.register_divisible('one')

#Static
System.register_divisible("two")

print(a.divisible) #prints ['one','two']
print(System.divisible) #prints ['one','two']