1. はじめに
Pythonを学び始めるとよく登場する「関数(function)」と「メソッド(method)」という言葉。
この2つは非常に似ているように見えますが、実は役割や使われ方に明確な違いがあります。
本記事では「Python|メソッドと関数の違いを解説」というテーマで、初心者の方にもわかりやすく、両者の違いと使い分けのポイントを紹介していきます。
コード例と実行結果を交えながら、実務や日常的なPythonプログラミングでの活用イメージも具体的に解説していきます。
2. Pythonにおける関数とメソッドの基本解説
2-1. 関数(Function)とは?
関数とは、特定の処理をまとめて再利用できるようにした「処理のまとまり」です。Pythonではdef
キーワードを使って関数を定義します。
# 関数の定義
def greet(name):
return f"こんにちは、{name}さん!"
# 関数の呼び出し
print(greet("太郎"))
実行結果:
こんにちは、太郎さん!
2-2. メソッド(Method)とは?
メソッドは、特定のデータ型(オブジェクト)に結びついている関数のことです。
つまり、「オブジェクトに属する関数」と理解するとよいでしょう。
# 文字列オブジェクトのメソッド使用例
message = "hello"
print(message.upper())
実行結果:
HELLO
上記のupper()
は、文字列オブジェクト(str
型)に定義されたメソッドです。このように「.(ドット)」を使って呼び出す点も特徴です。
3. よくある使い方・応用例
3-1. 関数の応用:複数の引数と戻り値
関数では複数の引数や戻り値を扱うこともできます。
# 関数で合計と平均を返す
def calc_total_and_average(numbers):
total = sum(numbers)
average = total / len(numbers)
return total, average
result = calc_total_and_average([70, 80, 90])
print(result)
実行結果:
(240, 80.0)
3-2. メソッドの応用:リストの操作
リスト型にも便利なメソッドが多数用意されています。
# リストのメソッドを使って要素を追加
fruits = ["apple", "banana"]
fruits.append("orange")
print(fruits)
実行結果:
['apple', 'banana', 'orange']
このように、メソッドは「ある型に特化した便利機能」として使われることが多く、覚えておくと効率的にコーディングできます。
4. 関数とメソッドの違い・注意点
4-1. 見た目の違い
- 関数:関数名 + 括弧 →
関数名()
- メソッド:オブジェクト名 + ドット + メソッド名 →
オブジェクト.メソッド名()
4-2. 定義場所の違い
関数は自由に定義できますが、メソッドは特定のクラス内で定義されており、対応するオブジェクトからしか使えません。
4-3. 初心者がよく混同する点
関数とメソッドはどちらも「呼び出すと処理される」という点では似ていますが、次のようなミスが起きがちです。
# 間違い例:関数と同じように使おうとしてエラー
text = "hello"
print(upper(text)) # upper()は関数ではなくメソッド
実行結果:
NameError: name 'upper' is not defined
このように、メソッドは必ずオブジェクトに対して呼び出す必要があります。
5. まとめ
この記事では「Pythonの関数とメソッドの違い」について解説しました。
以下のポイントを覚えておくと実務でも迷わず使い分けができるようになります。
- 関数は単独で使える「処理のまとまり」
- メソッドはオブジェクトに紐づく関数
- ドット記法で呼び出すのがメソッドの特徴
- Pythonの組み込み型(リスト・文字列・辞書など)には便利なメソッドが豊富
学習のコツは、「自分で関数を作る」と「既存のメソッドを使いこなす」を両方経験することです。
実務では、ログ出力、ファイル操作、データ整形などで関数とメソッドを組み合わせて使う場面が多くあります。
ぜひ今回の内容をもとに、実際のコードを書きながら理解を深めていきましょう!