Python 模擬試験

Python実践 模擬試験 第6回 問11・4章 Pythonのクラス(クラスの定義)

インスタンス属性とクラス属性

次のコードを実行したときの出力として、正しいものを1つ選べ。

class A:
    x = 1
a = A()
a.x = 2
print(A.x, a.x)
  1. A

    2 2

  2. B

    1 1

  3. C

    1 2

  4. D

    2 1

正解と解説を見る

正解:C

インスタンスへの代入は、インスタンス属性を作る(クラス属性を隠す)。クラス属性を変更するには、クラス名.属性 = 値。

順実行する行実行後の変数
1`class A:`—
2└ `x = 1`x = 1
3`a = A()`—
4`a.x = 2`a = A(vars={'x': 2})
5`print(A.x, a.x)`a = A(vars={'x': 2})
結果実際の出力1 2

学習のポイント:del a.x で、インスタンス属性を消すと、クラス属性が再び見える。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。