
昨日学んだ関数は、毎回同じ処理しかできませんでした。今日学んだ「引数(ひきすう)」を使えば、関数に値を渡して、より柔軟な処理ができるようになります。
引数とは
引数は、関数を呼び出す際に関数に値を渡す仕組みです。
引数なしの関数(復習)
def greet():
print("こんにちは、太郎さん")
greet() # こんにちは、太郎さん
この関数は常に「太郎さん」に挨拶します。他の人に挨拶したい場合、新しい関数を作る必要があります。
引数ありの関数
def greet(name):
print(f"こんにちは、{name}さん")
greet("太郎") # こんにちは、太郎さん
greet("花子") # こんにちは、花子さん
greet("次郎") # こんにちは、次郎さん
引数を使えば、1つの関数で様々な値に対応できます。
引数の基本構文
定義: def 関数名(引数名):
呼び出し: 関数名(値)
# 引数付き関数の定義
def introduce(name, age):
print(f"私の名前は{name}です")
print(f"年齢は{age}歳です")
# 関数の呼び出し
introduce("太郎", 25)
# 出力:
# 私の名前は太郎です
# 年齢は25歳です
複数の引数を持つ関数
関数は複数の引数を持つことができます。引数はカンマ , で区切ります。
def calculate_area(width, height):
area = width * height
print(f"面積は {area} です")
calculate_area(5, 10) # 面積は 50 です
calculate_area(3, 7) # 面積は 21 です
ポイント: 引数の順番が重要です。calculate_area(5, 10) では、width=5、height=10 となります。
引数の初期値(デフォルト引数)
引数に初期値を設定することもできます。初期値を設定すると、引数を渡さなかった場合に自動的にその値が使われます。
def greet(name, greeting="こんにちは"):
print(f"{greeting}、{name}さん")
# 引数を2つ渡す
greet("太郎", "おはよう") # おはよう、太郎さん
# 引数を1つだけ渡す(greetingは初期値が使われる)
greet("花子") # こんにちは、花子さん
構文: def 関数名(引数名=初期値):
初期値を設定しておけば、よく使う値を省略できるため便利です。
引数を使うメリット
1. 柔軟性
- 同じ処理で異なる値を扱える
2. 再利用性
- 1つの関数で多様なケースに対応
3. コードの簡潔さ
- 初期値を使えば、引数を省略できる
# 引数なしだと、こうなる(非効率)
def greet_taro():
print("こんにちは、太郎さん")
def greet_hanako():
print("こんにちは、花子さん")
# 引数ありなら、1つで済む(効率的)
def greet(name):
print(f"こんにちは、{name}さん")
初期値を使うときの注意点
初期値を持つ引数は、必ず通常の引数の後に定義する必要があります。
# ❌ エラー
def greet(greeting="こんにちは", name):
print(f"{greeting}、{name}さん")
# ✅ 正しい
def greet(name, greeting="こんにちは"):
print(f"{greeting}、{name}さん")
これは、Pythonが引数をどう解釈するか混乱しないためのルールです。
今日の学びのポイント
- 引数は関数に値を渡す仕組み
- 複数の引数を持つことができる(カンマで区切る)
- 初期値を設定すると、引数を省略できる
- 初期値を持つ引数は、通常の引数の後に定義
引数を使うことで、関数はさらに強力になります。次は、関数から値を返す「戻り値」と「return」を学んでいきます。


コメント