Kodrill

Python 3 エンジニア認定実践試験 / Python のクラスと型ヒント ・ 無料問題 1/5

Python のクラスと型ヒント 問題1[クラスの属性とメソッド]

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

Python
class Counter:    count = 0​    def __init__(self):        Counter.count += 1        self.id = Counter.count​a = Counter()b = Counter()a.count = 100print(a.count, b.count, Counter.count, b.id)

選択肢

  • A.1 2 2 2
  • B.100 100 100 2
  • C.100 2 2 2正解
  • D.100 2 100 2

解説実行して確認済み

count はクラス変数で、すべてのインスタンスで共有されます。Counter.count += 1 はクラス変数を書き換えるので、2 つ作った後は 2 です。一方 a.count = 100 はクラス変数ではなく、インスタンス a に同じ名前のインスタンス変数を作ります。そのため a.count だけが 100 で、b.count と Counter.count は 2 のままです。

この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。

「Python のクラスと型ヒント」の要点を解説記事で読む

「Python のクラスと型ヒント」の無料問題

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