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」という出力が得られます。
メソッドへの引数の渡し方
【サンプルコード】
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やプログラミングに関するコラム
- CSSのFlexboxで簡単横並び!基本から応用までサンプルコードも使い紹介
- JavaScriptで位置情報を取得する方法と注意点
- JavaScriptで作る効果的なポップアップとモーダルウィンドウ
- JavaScriptによる要素変更:DOMとスタイル制御
- Font Awesome活用法を紹介!HTMLでアイコンを簡単に追加する方法を解説