如何在Python中修改instance属性而不是class属性

2024-04-26 11:45:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想更改T实例的属性,但是当我调用t1的update_command_list函数时,这个类的实例的所有属性都会更改。在

如果我只想更改实例的属性,我应该如何更改代码?在

class T():
    def __init__(self, command_list=['a', 'b', 'c']):
        self.command_list = command_list

    def update_command_list(self):
        self.command_list.append('d')

L = []
t1 = T()
t2 = T()
L.append(t1)
L.append(t2)
L[0].update_command_list()
print(L[0].command_list)
print(L[1].command_list)

输出是 ['a'、'b'、'c'、'd'] ['a'、'b'、'c'、'd']

我想要的是 ['a'、'b'、'c'、'd'] ['a'、'b'、'c']


Tags: 实例函数代码self属性initdefupdate