見出し画像

【第12回】Pythonのオブジェクト指向の基本(クラスとインスタンス)

Pythonはオブジェクト指向プログラミング(OOP)に対応しており、クラスとインスタンスを使うことで、より効率的にプログラムを構築できます。

この記事では、Ubuntu環境でviを使いながら、Pythonのクラスとインスタンスの基本について解説します。


1、クラスの定義

クラスは、オブジェクトの設計図のようなものです。class キーワードを使って定義します。

class Dog:
    def bark(self):
        print("ワンワン!")

このクラスには bark() というメソッドが定義されています。

2、インスタンスの作成

クラスを元にオブジェクトを作成することを「インスタンス化」と言います。

my_dog = Dog()
my_dog.bark()  # ワンワン!を出力

3、コンストラクタ(__init__メソッド)

オブジェクトを作成するときに、初期値を設定できる特別なメソッド __init__() を定義できます。

class Dog:
    def __init__(self, name):
        self.name = name
    
    def bark(self):
        print(f"{self.name}がワンワン!と鳴きました。")

my_dog = Dog("ポチ")
my_dog.bark()  # ポチがワンワン!と鳴きました。

4、属性とメソッド

クラスには「属性(変数)とメソッド(関数)」を定義できます。

class Car:
    def __init__(self, brand, speed):
        self.brand = brand
        self.speed = speed
    
    def accelerate(self):
        self.speed += 10
        print(f"{self.brand}の速度が{self.speed}km/hになりました。")

my_car = Car("Toyota", 50)
my_car.accelerate()  # Toyotaの速度が60km/hになりました。

5、クラスの継承

クラスを継承すると、既存のクラスを元に新しいクラスを作成できます。

class Animal:
    def speak(self):
        print("何かを話します。")

class Cat(Animal):
    def speak(self):
        print("ニャー!")

my_cat = Cat()
my_cat.speak()  # ニャー!を出力

まとめ

  • クラスは class を使って定義できます。

  • インスタンスを作成すると、そのクラスのオブジェクトを利用できます。

  • __init__() メソッドを使うと、インスタンスの初期値を設定できます。

  • クラスの属性は self.変数名 で定義し、メソッドで操作できます。

  • 継承を使うと、既存のクラスを拡張できます。

  • Ubuntu環境ではviエディタを使ってPythonコードを編集し、python3 ファイル名で実行できます。

クラスとインスタンスを理解し、Pythonのオブジェクト指向プログラミングを活用しましょう!

いいなと思ったら応援しよう!