Code Fix

上級クラス属性がインスタンス間で共有される › パターン1

クラス属性がインスタンス間で共有される

クラス直下に書いたリストや辞書は、全インスタンスで共有される1つのオブジェクトになります。

 1  class Cart:
 2      items = []
 3      def __init__(self):
 4          __________________
                     ^
 5      def add(self, item):
 6          self.items.append(item)
 7  
 8  c1 = Cart()
 9  c2 = Cart()
10  c1.add("apple")
11  print(c2.items)
出力: ['apple']期待: [] (エラーにはなりません)

空欄を埋めて実行を通す

広告
広告スロット(未設定)

クラス属性がインスタンス間で共有される

インスタンスごとに独立させたい場合は__init__で作ります。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)