Kodrill

Python 3 エンジニア認定基礎試験 / クラス ・ 無料問題 3/3

クラス 問題3[クラス]

次のコードを実行したときの出力を選んでください。

Python
class C:    items = []​    def add(self, x):        self.items.append(x)​a = C()b = C()a.add(1)b.add(2)print(a.items, b.items)

選択肢

  • A.[1, 2] [1, 2]正解
  • B.[1] [2]
  • C.[1, 2] []
  • D.[] []

解説

items はクラス変数なので、全インスタンスで同じリストを共有します。a と b の append はどちらも同じリストに追加されるため、両方 [1, 2] になります。インスタンスごとに持たせたい場合は __init__ の中で self.items = [] と書きます。

「クラス」の無料問題

ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。