Python 3 エンジニア認定実践試験 / Python のクラスと型ヒント ・ 無料問題 5/5
Python のクラスと型ヒント 問題5[クラスの属性とメソッド]
次のコードを実行したときの出力を選んでください。
class Date: def __init__(self, year, month): self.year = year self.month = month @classmethod def from_string(cls, text): year, month = map(int, text.split("-")) return cls(year, month) @staticmethod def is_valid_month(month): return 1 <= month <= 12d = Date.from_string("2026-12")print(d.year, d.month, Date.is_valid_month(13), d.is_valid_month(1))選択肢
- A.TypeError が発生する
- B.2026-12 None False True
- C.2026 12 True True
- D.2026 12 False True正解
解説実行して確認済み
@classmethod を付けたメソッドは、第 1 引数にクラス自身 (cls) を受け取ります。cls(year, month) でインスタンスを作れるので、別の形式から生成する「代替コンストラクター」によく使われます。@staticmethod は self も cls も受け取らない普通の関数で、クラスからもインスタンスからも呼び出せます。
この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。
Python 3 エンジニア認定実践試験 の他の分野の無料問題
ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。