0Pricing
Python Academy · レッスン

継承

継承によって機能を再利用し、拡張する方法を学びます。

「継承」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン3/6です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全6レッスンが含まれています。

継承入門

継承入門

継承は、オブジェクト指向プログラミング(OOP)の中心的な概念です。あるクラス(サブクラス)が別のクラス(スーパークラス)から属性とメソッドを引き継げるようにします。コードの再利用を促進し、コードを整理しやすくします。

このレッスンでは、Python で継承を実装する方法と、その利点を学びます。

継承 — イラスト1

スーパークラスの定義

スーパークラスの定義

スーパークラスは、他のクラスが継承する基底クラスです。他のクラスと同じように定義します。

# Defining a superclass
class Animal:
    def speak(self):
        print("Animal speaks")

サブクラスの作成

サブクラスの作成

サブクラスは、スーパークラスから属性とメソッドを継承します。サブクラスを定義するには、スーパークラス名を引数として渡します。

# Defining a subclass
class Dog(Animal):
    def speak(self):
        print("Dog barks")

メソッドのオーバーライド

メソッドのオーバーライド

サブクラスでは、特定の振る舞いを提供するために、スーパークラスのメソッドをオーバーライドできます。

# Overriding methods in a subclass
class Dog(Animal):
    def speak(self):
        print("Dog barks")

animal = Animal()
animal.speak()  # Outputs: Animal speaks

dog = Dog()
dog.speak()  # Outputs: Dog barks

<h2>super() 関数の使用</h2> <p><code>super()</code> 関数を使うと、サブクラスからスーパークラスのメソッドを呼び出せます。</p>

super()関数の使用

super()関数を使用すると、サブクラスからスーパークラスのメソッドを呼び出せます。

# Using super() to call superclass methods
class Dog(Animal):
    def speak(self):
        super().speak()
        print("Dog barks")

多重継承

多重継承

Python は多重継承をサポートしており、サブクラスは複数のスーパークラスから継承できます。

# Example of multiple inheritance
class Flyer:
    def fly(self):
        print("Flying")

class Swimmer:
    def swim(self):
        print("Swimming")

class Duck(Flyer, Swimmer):
    pass

クラスの関係の確認

クラスの関係の確認

isinstance() 関数と issubclass() 関数を使って、クラスの関係を確認できます。

# Checking class relationships
# Checking if an object is an instance of a class
print(isinstance(Dog(), Dog))  # Outputs: True

# Checking if a class is a subclass of another
print(issubclass(Dog, Animal))  # Outputs: True

継承でよくある間違い

継承でよくある間違い

次のような間違いに注意してください。

  • 必要な場合に super() を呼び出さずにメソッドをオーバーライドする。
  • 多重継承におけるメソッド解決順序(MRO)を混同する。
  • コンポジションの方が適している場合に継承を使う。

学んだこと

学んだこと

このレッスンでは、次のことを学びました。

  • スーパークラスとサブクラスを定義する方法。
  • メソッドをオーバーライドし、super() を使う方法。
  • Python で多重継承がどのように機能するか。

よくできました。次のトピックに進みましょう。

継承 — イラスト11

よくある質問

「継承」レッスンは無料ですか?

はい。「継承」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全6レッスンが含まれています。

「継承」で何を学びますか?

継承によって機能を再利用し、拡張する方法を学びます。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Python Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/6です。

「継承」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPython Academyレッスンでコードを書いて実行できますか?

はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. クラスとオブジェクト
  2. 属性とメソッド
  3. 継承
  4. ポリモーフィズム
  5. カプセル化と抽象化
  6. 特殊メソッド(__str__、__repr__など)
← Python Academyに戻る