-1

我用 Python 编写了一个程序。我有 A 类。它的一个变量 v 是另一个类 B 的实例:

class A:
 def __init__(self):
   self.v = B()

B 类的形式为:

class B:
 def __init__(self):
  self.list = [1,2,3]
 def function(self):
  self.list[2] = 1

我创建了一个实例 x=A(),将其放入列表 g (g=[x]) 中,然后通过打印 g[0].v.function() 更改 xv 中的变量之一。但是,当我要求计算机打印 g[0].v.list 时,它会打印 [1,2,3] 而不是 [1,2,1]。可能是什么原因?

谢谢你。

4

1 回答 1

3

为我工作:

class A:
 def __init__(self):
   self.v = B()

class B:
 def __init__(self):
  self.list = [1,2,3]
 def function(self):
  self.list[2] = 1

x = A()
g = [x]
print g[0].v.function()
print g[0].v.list

输出:

None
[1, 2, 1]
于 2013-01-29T18:06:29.413 回答