⑦Pythonプログラミング

Pythonのクラスとオブジェクト指向の基礎【継承・メソッド完全ガイド】

⑦Pythonプログラミング
記事内に広告が含まれています。

Pythonのクラスと継承を学びます。オブジェクト指向プログラミング(OOP)の考え方を理解すれば、大規模なプログラムも整理して書けるようになります。

クラスの基本

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

    def bark(self):
        return f"{self.name}がワンと鳴いた!"

    def __str__(self):
        return f"犬の名前: {self.name}, 犬種: {self.breed}"

# インスタンスの作成
my_dog = Dog("ポチ", "柴犬")
print(my_dog.bark())   # ポチがワンと鳴いた!
print(my_dog)          # 犬の名前: ポチ, 犬種: 柴犬

継承

class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        return "...(無音)"

class Dog(Animal):  # Animalを継承
    def speak(self):  # オーバーライド
        return f"{self.name}: ワン!"

class Cat(Animal):
    def speak(self):
        return f"{self.name}: ニャー!"

animals = [Dog("ポチ"), Cat("タマ")]
for a in animals:
    print(a.speak())

OOPの主要概念

概念説明
クラスオブジェクトの設計図
インスタンスクラスから生成した実体
__init__コンストラクタ(インスタンス生成時に呼ばれる)
selfインスタンス自身を参照する変数
継承親クラスの機能を引き継ぐ仕組み
オーバーライド親クラスのメソッドを子クラスで再定義する

まとめ

  • classキーワードでクラスを定義し、__init__で初期化する
  • selfはインスタンス自身を指す(必ず第1引数に書く)
  • 継承で親クラスの機能を使い回せる
  • __str__を定義するとprint()で見やすい出力ができる

コメント

タイトルとURLをコピーしました