
【Python】class引数の基本とメソッドの実装方法を解説
公開: 更新:Pythonクラスと引数の基本
【サンプルコード】
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
my_car = Car("Toyota", "Corolla")
print(f"ブランド: {my_car.brand}, モデル: {my_car.model}")
【実行結果】
ブランド: Toyota, モデル: Corolla
上記のPythonのサンプルコードでは、まずCar
というクラスを定義しています。クラスとは、オブジェクトを作成するための設計図のようなもので、非常に重要な概念です。
クラス内に定義された__init__
メソッドは、クラスのインスタンス(オブジェクト)が作成される際に自動的に呼び出される特別なメソッドです。このメソッドにはself
、brand
、model
という3つの引数があります。
self
引数はクラスのインスタンス自身を指し、他の言語の「this」に相当します。brand
とmodel
は、クラスをインスタンス化する際に外部から渡される引数です。
メソッド内では、これらの引数を使ってインスタンス変数self.brand
とself.model
を設定しています。インスタンス変数とは、クラスの各インスタンスに固有のデータを保持する変数です。
次にmy_car = Car("Toyota", "Corolla")
の行で、Car
クラスのインスタンスを生成しています。ここで"Toyota"
と"Corolla"
は、それぞれbrand
とmodel
引数に対応しており、これらの値が__init__
メソッドに渡されます。
最後の行では、作成したインスタンスmy_car
のbrand
属性とmodel
属性を出力しています。上記のコードを実行することにより、「ブランド: Toyota, モデル: Corolla」という出力が得られます。
【PR】『Python』を学べる企業・個人向けのプログラミングコース
メソッドへの引数の渡し方
【サンプルコード】
class Calculator:
def add(self, a, b):
return a + b
calc = Calculator()
result = calc.add(10, 5)
print(f"結果: {result}")
【実行結果】
結果: 15
上記のコードではCalculator
クラスを作成し、その中にadd
メソッドを定義しています。このadd
メソッドは、2つの引数a
とb
を取り、それらを足し合わせた結果を返します。
メソッドの最初の引数self
はクラスのインスタンスを指す特殊な引数で、メソッドを呼び出す際には明示的に指定する必要はありません。calc = Calculator()
でCalculator
クラスのインスタンスを作成し、calc
という変数に割り当てています。
result = calc.add(10, 5)
の行では、calc
インスタンスのadd
メソッドを呼び出し、引数として10と5を渡しています。これにより、add
メソッドはこれらの数値を足し合わせ、結果として15を返します。
最後に、この結果をprint
関数を使用して出力しています。メソッドに引数を渡すことで、クラスの機能を柔軟に利用することができます。
デフォルト引数を用いたクラスの実装
【サンプルコード】
class Person:
def __init__(self, name, age=30):
self.name = name
self.age = age
person1 = Person("Alice")
person2 = Person("Bob", 40)
print(f"{person1.name}は{person1.age}歳")
print(f"{person2.name}は{person2.age}歳")
【実行結果】
Aliceは30歳
Bobは40歳
上記のコードではPerson
クラスを定義し、__init__
メソッドでデフォルト引数を使用しています。__init__
メソッドにはname
とage
の2つの引数がありますが、age
にはデフォルト値として30が設定されています。
デフォルト引数は、引数が渡されない場合に使用される値を指定するものです。
1つ目のインスタンスperson1
を作成する際にはage
引数を省略しているため、person1
のage
属性はデフォルト値の30が使用されます。一方、2つ目のインスタンスperson2
ではage
に40を明示的に指定しています。
このようにデフォルト引数を使用することで、引数の省略を許容し、より柔軟なクラス設計が可能になります。
最後にprint
関数を使用して、両インスタンスのname
属性とage
属性の値を出力しています。出力結果からperson1
がデフォルトの年齢を使用していること、person2
は指定された年齢を使用していることが分かります。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- ChatGPTでプロンプトを使うコツとNG例|シーン別のプロンプト例まで徹底解説
- ChatGPT 4oアップデートで高クオリティな画像生成が可能に!具体例や作り方、プロンプトのコツを紹介
- 【Open AI・Claude】プロンプトジェネレーターの使い方。ChatGPTで活用するコツや利用料金も併せて解説
- 【Python】@(アットマーク)の意味を簡単に解説
- 【Python】match case(match文)で複数条件を処理する方法