
メソッドと関数ってなにがどう違うの??
目次
メソッドと関数
Pythonプログラムにおけるメソッドと関数は、どちらも処理のまとまりに名前をつけたものであり、基本的な仕組みは同じです。
しかし、メソッドはクラスのインスタンスに対して呼び出すことができるのに対し、関数はクラスのインスタンスに対して呼び出すことはできません。
メソッド



Pythonのメソッドは、クラス内に定義された関数のことデスネ。
- クラス内の処理を定義するために使用されます。
- メソッドは通常、インスタンス(オブジェクト)に関連付けられ、そのインスタンスのデータにアクセスできます。
- 通常、最初のパラメータとして
self
があり、メソッドが呼び出されたインスタンス自体を指します。 - インスタンスメソッドとして定義されたメソッドは、クラスの各インスタンスに対して異なる操作を実行できます。
関西AIラボ




Pythonプログラムのメソッド | 関西AIラボ
メソッド メソッドと関数の違いがよくわからない。。。 Pythonのメソッドは、クラス内に定義された関数のことデスネ。 関数についてはこちら↓ メソッドは、クラスが持つデ…
関数



関数は、特定のタスクや操作を実行するための再利用可能な独立したコードブロックデス。
- クラスに関連付けられていないため、関数はクラスのインスタンスを必要としません。
- 関数は一般的に再利用可能であり、複数の場所で呼び出すことができます。
- 関数は
def
キーワードを使用して定義され、任意のパラメータを受け取ることができます。
関西AIラボ




Pythonプログラムの関数 | 関西AIラボ
Pythonプログラムの関数 関数って数学のイメージがつよすぎて、プログラミングの関数のイメージがよくわからない。。。 関数は、特定のタスクや操作を実行するための再利用…
まとめ
関数とメソッドの関係は、関数がクラスの外部で利用できる汎用的なコードブロックであるのに対し、メソッドはクラス内で特定の操作を実行するために使用されるコードブロックであるという点にあります。
関数はクラスに依存せず、あらゆる場所で利用できる一方、メソッドは特定のクラスのインスタンスに関連づけられており、そのクラスの属性やデータにアクセスできる特殊な関数です。
項目 | メソッド | 関数 |
---|---|---|
呼び出し方 | インスタンス名.メソッド名(引数) | 関数名(引数) |
関連付け | クラスのインスタンス | どこにも関連付けられない |
引数 | クラスのインスタンスやその他のオブジェクトを受け取ることができる | 任意のオブジェクトを受け取ることができる |
return文 | 処理の結果を返すことができる | 処理の結果を返すことができる |



メソッドはクラスのインスタンスを受け取って、クラスの分身みたいなのを作れるところがすごいのか。