从Class实例附加一个列表

时间:2018-03-10 07:38:29

标签: python python-3.x

我试图通过使用实例读取值来附加列表,

AttributeError: 'str' object has no attribute 'mylist'

但它给了我错误

mylist

我在这里做错了什么?如何使用值['Value_1','Value_2']打印Actions.popTo

3 个答案:

答案 0 :(得分:1)

您必须使用类变量来获取跨实例共享的变量。 使用下面的代码来获得你想要的东西。

class Class_Name:
    mylist = []
    def __init__(self,input):
        self.input = input
        Class_Name.mylist.append(input)

if __name__ == "__main__":
    val1 = Class_Name("Value_1")
    val2 = Class_Name("Value_2")
print(Class_Name.mylist)

答案 1 :(得分:1)

使用extend代替appendmylist中的__init__添加更多条目,并在主要打印列表中调用instance_name.mylist

这样的事情:

class Class_Name:
    def __init__(self, input1, input2):
        self.mylist = []
        self.mylist.extend([input1, input2])

if __name__ == "__main__":
    val1 = Class_Name("Value_1", "Value_2")
    print(val1.mylist)

# ['Value_1', 'Value_2']

答案 2 :(得分:0)

input上的__init__参数在第一次初始化时为Value_1,第二次为Value_2。但是,字符串没有方法append所以当您假设input参数是一个列表时,它会失败。