Python3実践試験の対策ドリル(非公式)

4章「Pythonのクラス」の対策ポイントと例題

4章「Pythonのクラス」からは本番40問中3問が出ます。継承・特殊メソッド・データクラスなど、オブジェクト指向の書き方そのものを問う章です。

この章の出題数と位置づけ

4章「Pythonのクラス」からは本番40問のうち3問が出題されます。 全体に占める割合は7.5%で、15章中4番目タイの出題数です(同じ3問の章が他に1章あります)。 合格に必要なのは28問正解(12問まで不正解可)なので、 この章の3問をどこまで取りに行くかは、他の章との兼ね合いで決めるのが現実的です。

対策のポイント

この章の例題(3問)

当サイトで実際に出題している問題から3問を、正解と解説つきで掲載します。 すべて自作のオリジナル問題で、実際の試験問題ではありません。

例題1. @staticmethod と @classmethod の違いとして正しいものを選べ。

解説: classmethod は cls を受け取るので、サブクラスから呼ぶと呼んだ側のクラスが入る。代替コンストラクタの実装に使う。staticmethod は単に名前空間をクラス内に置いた関数。

例題2. クラス内で __value という名前の属性を定義したとき、Python が内部で行う処理はどれか。

解説: アンダースコア2つで始まる名前は名前マングリングの対象。完全な private ではなく、_ClassName__value でアクセスできてしまう。前後をアンダースコア2つで挟んだ __init__ 等はマングリングされない。

例題3. 多重継承したクラスのメソッド解決順序を確認したい。参照すべき属性はどれか。

解説: __mro__(または mro() メソッド)が解決順序のタプルを返す。__bases__ は直接の親クラスだけで、順序の全体像は分からない。

この章は当サイトに全6問を収録しています。残りはドリルの「章別に解く」から解けます。

関連する章

出題範囲の一覧に戻る

ドリルを解いてみる(登録不要・無料)