【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】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
メソッドへの引数の渡し方
【サンプルコード】
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やプログラミングに関するコラム
【Python】仮想環境から抜ける方法
【Python】文字列から改行コードを除去する方法
【Python】10回の繰り返し処理を実装する方法
【Python】df(DataFrame)とは?基本的な使い方やデータ操作について解説
【Python】指定のファイルがあれば削除する方法
ITやプログラミングに関するニュース
Azure SQL Managed InstanceがVector型Public Preview対応開始、AI駆動アプリケーション開発の効率化を実現
GoogleがGmailアプリにGeminiサマリーカードを導入、メール要約の自動表示機能が利用可能に
ZenchordとNottaが共同開発したAIイヤホンZenchord 1をMakuakeで先行公開、音声認識から議事録作成まで自動化
Ideinが音声解析AIサービス「Phonoscape」の提供を開始、対面接客現場での会話データ活用が可能に
Microsoftが.NET 10 Preview 4でdotnet run app.cs機能をリリース、プロジェクトファイル不要でC#実行が可能に

