具有列表的Python类的问题

时间:2014-10-23 08:05:43

标签: python

我有一个简单的问题: 假设我有以下课程:

class step:
    alpha = []

我的主要有以下内容:

listofstep = []

for i in range(20):
    z = step()
    z.alpha.append(0)
    listofstep.append[z]

为什么len(listofstep [0] .alpha)给了我20?

1 个答案:

答案 0 :(得分:0)

在定义它时,alpha是一个类变量,而不是一个实例变量。执行z.alpha时,它始终指向同一列表,无论它是哪个实例。尝试定义这样的步骤:

class step:
    def __init__(self):
        self.alpha = []