Pythonの引数:関数に値を渡して柔軟に処理する

昨日学んだ関数は、毎回同じ処理しかできませんでした。今日学んだ「引数(ひきすう)」を使えば、関数に値を渡して、より柔軟な処理ができるようになります。

引数とは

引数は、関数を呼び出す際に関数に値を渡す仕組みです。

引数なしの関数(復習)

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=5height=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」を学んでいきます。


コメント