Pythonのclassとコンストラクタ(constructor)の基本
【サンプルコード】
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
my_pet = Animal("Buddy", "Dog")
print(my_pet.name)
print(my_pet.species)
【実行結果】
Buddy
Dog
上記のPythonのコードでは、まず「Animal」という名前のclassを定義しています。classはオブジェクトを作成するための設計図のようなもので、特定のデータや機能を持たせることができます。ここで定義されている「__init__」は、classのコンストラクタ(初期化メソッド)です。
コンストラクタはclassのインスタンスが作成される際に自動的に呼ばれる特別なメソッドで、初期設定を行う際に使用されます。このコンストラクタには「self」、「name」、「species」という3つのパラメータがあります。
「self」は現在のインスタンスを指し、class内の他のメソッドや属性にアクセスするために使用されます。「name」と「species」は外部から渡される値で、この例ではそれぞれ「Buddy」と「Dog」としています。
コンストラクタ内で「self.name = name」と「self.species = species」としている部分では、渡された値をインスタンスの属性として設定しています。
「my_pet = Animal("Buddy", "Dog")」の行では「Animal」classの新しいインスタンスを作成しており、「"Buddy"」と「"Dog"」という引数がコンストラクタに渡され、インスタンスの「name」と「species」属性がそれぞれ設定されます。
最後の2行では「print」関数を使って、my_petインスタンスの「name」と「species」属性の値を出力しています。このようにclassとコンストラクタを使うことで、同じ構造を持つ様々なオブジェクトを効率的に作成することが可能です。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Figma AIの使い方!プロトタイプや画像をAIで自動生成する方法を紹介
- 【Python】辞書(dict)からリスト(list)へ変換する方法
- 【Python】辞書(dict)をforループで処理する方法
- 【Python】int型の最大値を確認する方法をサンプルコード付きで解説