简单更新类实例

时间:2019-07-18 15:43:09

标签: python class

我想在Python中创建一个非常简单的类,以便从元素的初始列表[3,7,2,7,81]开始,可以添加其他数字列表,在这种情况下为单个元素40。这是我的解决方案:

class Add_elements:

    def add(self, elements):
        list = [self.list,elements]
        return list

add_elements = Add_elements()
add_elements.add([3,7,2,7,81])
add_elements.add([40])

这应该返回如下内容:

  

[[3,7,2,7,81],40]

此问题是元素列表每次都会重置,没有存储先前添加的元素。有解决办法吗?

1 个答案:

答案 0 :(得分:2)

您可能需要初始化器来初始化self.list

class Add_elements:
    def __init__(self):
        self.list = None

    def add(self, elements):
        if self.list is None:
            self.list = elements
        else:
            self.list = [self.list,elements]
        return self.list

这将使listAdd_elements的属性-状态的一部分。而当您致电add时,它会更改该状态。

编辑:

如果要在致电add时删除方括号,可以执行以下操作:

def add(self, *elements):
    if self.list is None:
        self.list = list(elements)
    else:
        self.list = [self.list,list(elements)]
    return self.list