【Python】class引数の基本とメソッドの実装方法を解説

【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__メソッドは、クラスのインスタンス(オブジェクト)が作成される際に自動的に呼び出される特別なメソッドです。このメソッドにはselfbrandmodelという3つの引数があります。

self引数はクラスのインスタンス自身を指し、他の言語の「this」に相当します。brandmodelは、クラスをインスタンス化する際に外部から渡される引数です。

メソッド内では、これらの引数を使ってインスタンス変数self.brandself.modelを設定しています。インスタンス変数とは、クラスの各インスタンスに固有のデータを保持する変数です。

次にmy_car = Car("Toyota", "Corolla")の行で、Carクラスのインスタンスを生成しています。ここで"Toyota""Corolla"は、それぞれbrandmodel引数に対応しており、これらの値が__init__メソッドに渡されます。

最後の行では、作成したインスタンスmy_carbrand属性とmodel属性を出力しています。上記のコードを実行することにより、「ブランド: Toyota, モデル: Corolla」という出力が得られます。

「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つの引数abを取り、それらを足し合わせた結果を返します。

メソッドの最初の引数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__メソッドにはnameageの2つの引数がありますが、ageにはデフォルト値として30が設定されています。

デフォルト引数は、引数が渡されない場合に使用される値を指定するものです。

1つ目のインスタンスperson1を作成する際にはage引数を省略しているため、person1age属性はデフォルト値の30が使用されます。一方、2つ目のインスタンスperson2ではageに40を明示的に指定しています。

このようにデフォルト引数を使用することで、引数の省略を許容し、より柔軟なクラス設計が可能になります。

最後にprint関数を使用して、両インスタンスのname属性とage属性の値を出力しています。出力結果からperson1がデフォルトの年齢を使用していること、person2は指定された年齢を使用していることが分かります。


※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア 中途採用者向けのIT・プログラミング研修 - IT・プログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する