- くだすれPython(超初心者用) その28©2ch.net
411 :デフォルトの名無しさん[]:2015/12/25(金) 12:27:02.37 ID:BRCD1tgm - 属性値が初期化されない
class Box: numlist = {} def numbox(self,num): x=0 list = [] while x < 5: list.append(num) x +=1 self.numlist[num] = list for i in range(0,3): box = Box() box.numbox(i) print box.numlist 結果が {0: [0, 0, 0, 0, 0]} {0: [0, 0, 0, 0, 0], 1: [1, 1, 1, 1, 1]} {0: [0, 0, 0, 0, 0], 1: [1, 1, 1, 1, 1], 2: [2, 2, 2, 2, 2]} こうなってしまいます。 本当はこうしたいのです。 {0: [0, 0, 0, 0, 0]} {1: [1, 1, 1, 1, 1]} {2: [2, 2, 2, 2, 2]} なぜこうなるのか理由も教えて貰えると助かります。 併せてこの部分の理解に役立つ書籍等もあれば教えて下さい。宜しくお願いします。
|