私は今Pythonでクラスを扱おうとしています。私はクラスからオブジェクトを作成しました:この時点でリストを追加するPythonメソッドが機能していませんか?
class Class1():
def __init__(self, bar):
self.b = bar
def assignbar(self, somelist):
self.b.extend(somelist)
foo1=foo2=foo3=Class1([])
は、印刷foo1.bは、foo2.b、およびfoo3.bは、実際には、空のリストを与えるん。 今、私は15の要素の長さの別のリストを持っています。私は私の問題を抱えているところ、次のとおりです。
numbers=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
foo1.assignbar(numbers[0:5])
foo2.assignbar(numbers[5:10])
foo3.assignbar(numbers[10:15])
print foo1.b
print foo2.b
print foo3.b
の代わりに[0,1,2,3,4]、[5,6,7,8,9]私を与え、そして[10,11、 12,13,14]、これは単純に私に数字の全体を3回与えます。私は別に、このようfoo1が、foo2は、およびfoo3を定義する場合しかし、私はそれが必要だと思うよう
foo1=Class1([])
foo2=Class1([])
foo3=Class1([])
プログラムが実行されます。私は知りたいのですが、3つのオブジェクトすべてを同じものとして設定しても機能しないのはなぜですか?それはあなたのいずれかでassignbarを呼び出すと、他のすべての3つのassignbarを呼び出しているからですか?あなたの最初の例で