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やプログラミングに関するコラム
Gitでブランチ(branch)を作成する方法
crontabの書き方
PDFをExcelに変換する方法
Excelでプルダウンを設定する方法
エクセルでページ区切りを設定する方法
Markdownの取り消し線の書き方
ラズベリーパイでできること9選
Gitでbranch(ブランチ)を削除する方法をローカル・リモート別に解説
git addの取り消し方法を状況別に解説
CSSのstickyプロパティでWebサイトに固定要素を実装する方法
ITやプログラミングに関するニュース
アイアール技術者教育研究所がエクセルギー解析計算ウェビナーを開催、省エネと環境負荷低減に貢献
フラー株式会社がアプリ市場トレンド解説ウェビナーを3月25日に開催、成長アプリの共通項とデータ活用を解説
株式会社BOTANICOが2026年版X運用最新戦略ウェビナーを開催、成果につなげる資産型運用を解説
AIストーム株式会社がOpenClaw活用セミナーを開催、AIエージェントがビジネス現場を変革
株式会社オロが建設コンサルティング業向けウェビナーを開催、技術部門の損益可視化を支援
アルティウスリンク株式会社が経理向けBPO活用ウェビナーを開催、課題解決と業務効率化を支援
株式会社日本計画研究所がAI時代のインフラセミナー開催、GPUとデータセンターの課題を解説
株式会社カウンターワークスがリーシング業務AI活用ウェビナー開催、既存ツールでAIエージェント実践
株式会社セキドがDJI産業機セミナーを福井で開催、3Dデータ活用と機材選定を無料解説
株式会社ナビットが補助金活用ウェビナーを開催、販促費削減と集客力向上を解説
