-1

Pythonでプログラムを書いています。私はクラスAを持っています.その変数の1つである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 の変数の 1 つを変更します。ただし、コンピューターに g[0].v.list を印刷するように要求すると、[1,2,1] ではなく [1,2,3] が印刷されます。その理由は何ですか?

ありがとうございました。

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 に答える