例外処理・ファイル操作・クラス基礎誤り発見

以下のクラスとインスタンスに関する記述で、誤っているものはどれか。

A.インスタンスに対して存在しない属性にアクセスしようとすると、AttributeErrorが発生する。
✓ この記述は正しい。存在しない属性へのアクセスはAttributeErrorを発生させる。
B.__str__()メソッドはprint()やstr()で呼び出される際に使用される文字列表現を定義する。
✓ この記述は正しい。__str__()はオブジェクトの文字列表現を定義する。
C.hasattr()関数を使用して、オブジェクトが特定の属性を持つかどうかをチェックできる。
✓ この記述は正しい。hasattr()で属性の存在確認が可能。
D.インスタンス変数のアクセス制限は、プレフィックス__(ダブルアンダースコア)を使用しても、オブジェクト外部から完全に読み取り不可能になる。← 正解
✓ 正解です。この記述が誤りです。__プレフィックスでも『名前マングリング』により外部からアクセス可能。完全な読み取り不可にはならない。

Python 3 エンジニア認定基礎試験 の問題一覧