对不起,如果标题中的问题不是那么清楚,但我的空间有限,澄清......
在我的代码中,我有一个名为 empDB 的类,它创建一个用于存储对象的空列表。
我也将新对象添加到列表中,我在 empDB 中创建了一个名为 appendEmp 的方法。appendEmp 接受一个参数,该参数指定它将实例化的类,然后将其添加到列表中。如果未提供参数,则默认为 Employee() 类。
这是我的问题
当我调用 appendEmp 方法时,它会在列表中创建新对象,但是当我尝试实例化已经在列表中的对象时,它只会创建它的别名。我每次都需要它来创建一个新对象,以便我可以单独编辑列表中每个对象的属性。
这是我的代码片段:
class empDB:
def __init__(self, lst= []): #creates empty list
self.lst = lst
def appendEmp(self, emp=Employee()):
self.lst=self.lst+[emp]
基本上这就是现在发生的事情
>>> db=empDB()
>>> db.appendEmp()
>>> db.appendEmp()
>>> db[0] is db[1]
True
我需要它是假的