Python 3 エンジニア認定実践試験 / Python のクラスと型ヒント ・ 無料問題 3/5
Python のクラスと型ヒント 問題3[継承]
次のコードを実行したときの出力を選んでください。
class Animal: def __init__(self, name): self.name = name def speak(self): return f"{self.name}: ..."class Dog(Animal): def __init__(self, name, breed): super().__init__(name) self.breed = breed def speak(self): return super().speak().replace("...", "wan")d = Dog("pochi", "shiba")print(d.speak(), isinstance(d, Animal), issubclass(Dog, Animal))選択肢
- A.pochi: wan True True正解
- B.pochi: ... True True
- C.pochi: wan True False
- D.pochi: wan False True
解説実行して確認済み
super() は親クラスのメソッドを呼び出すときに使います。Dog.__init__ は super().__init__(name) で親の初期化を行い、Dog.speak は親の speak の戻り値を加工して pochi: wan を返します。isinstance はサブクラスのインスタンスにも True を返し、issubclass(Dog, Animal) も True です。
この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。
Python 3 エンジニア認定実践試験 の他の分野の無料問題
ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。