首页 > 解决方案 > 类实例以某种方式包含同一类的不同现有实例的元素

问题描述

我已经为这个问题编写了一个简化版本的代码(Python 3.9):

class myClass:
    def __init__(self, elements: list):
        for el in elements:
            self.addElement(el)

    def addElement(self, element):
        self.classElements.append(element)

    classElements = []


First = myClass(['el1', 'el2'])
Second = myClass(['el3', 'el4'])

print("Elements in first instance: {0}".format(First.classElements))
print("Elements in second instance: {0}".format(Second.classElements))

这是控制台输出:

Elements in first instance: ['el1', 'el2', 'el3', 'el4']
Elements in second instance: ['el1', 'el2', 'el3', 'el4']

但是按照我的逻辑,它应该是这样的:

Elements in first instance: ['el1', 'el2']
Elements in second instance: ['el3', 'el4']

为什么First包含的元素,Second反之亦然,即使两个对象除了是同一个类之外彼此没有任何关系?

标签: python-3.xclass

解决方案


推荐阅读