PYTHON MEBY

Pythonでクラスのインスタンスを作成

この記事では、Pythonでクラスのインスタンスを作成する方法について説明します。クラス定義、コンストラクタ、インスタンス変数、そしてインスタンスメソッドの使い方を例を交えて解説します。

目次

クラスの定義

クラスは、オブジェクトを作成するための設計図です。`class`キーワードを使用して定義します。

class Dog:
    pass

これは、`Dog`という名前の空のクラスです。`pass`は、何も実行しないステートメントで、クラス定義を空にするために使用されます。

コンストラクタ(__init__)

コンストラクタは、クラスのインスタンスが作成されるときに自動的に呼び出される特別なメソッドです。`__init__`という名前で定義します。

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

この例では、`Dog`クラスのコンストラクタは、`name`と`age`という2つの引数を受け取ります。`self`は、インスタンス自身を表す特別な引数です。`self.name`と`self.age`は、インスタンス変数です。

インスタンス変数

インスタンス変数は、各インスタンスに固有のデータです。コンストラクタで初期化されます。

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

dog1 = Dog("Buddy", 3)
print(dog1.name)  # 出力: Buddy
print(dog1.age)   # 出力: 3

`dog1`は`Dog`クラスのインスタンスです。`dog1.name`と`dog1.age`は、`dog1`のインスタンス変数にアクセスします。

インスタンスメソッド

インスタンスメソッドは、インスタンスのデータに作用するメソッドです。`self`を引数として受け取ります。

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

    def bark(self):
        print("Woof!")

dog1 = Dog("Buddy", 3)
dog1.bark()  # 出力: Woof!

インスタンスの作成と使用方法

クラスのインスタンスを作成するには、クラス名を呼び出します。

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

dog1 = Dog("Buddy", 3)
dog2 = Dog("Max", 5)
print(dog1.name, dog1.age) # 出力: Buddy 3
print(dog2.name, dog2.age) # 出力: Max 5

サンプルコード

簡単な例です。

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def description(self):
        return f"{self.name} is {self.age} years old."

dog = Dog("Fido", 4)
print(dog.description()) # 出力: Fido is 4 years old.

このコードは、Dogクラスを定義し、インスタンスを作成し、インスタンスメソッドを使用して、犬の名前と年齢を出力します。

関連記事