デフォルト引数とキーワード引数
引数に「デフォルト値」を設定したり、呼び出し時に「名前で指定」したりできます。これにより関数の使い勝手が大幅に向上します。
1. デフォルト引数
def greet(name, greeting="こんにちは"):
print(f"{greeting}、{name}さん!")
greet("田中") # デフォルト使用
greet("鈴木", "おはようございます") # 上書き
greet("佐藤", "こんばんは")
▶ 出力結果
こんにちは、田中さん! おはようございます、鈴木さん! こんばんは、佐藤さん!
2. キーワード引数
def profile(name, age, city):
print(f"{name}、{age}歳、{city}在住")
# 順番を気にせず名前で指定できる
profile(age=30, city="大阪", name="鈴木")
▶ 出力結果
鈴木、30歳、大阪在住
3. 実用例:汎用メッセージ送信関数
def send_message(to, body, subject="お知らせ", priority=1):
print(f"宛先:{to}")
print(f"件名:{subject}")
print(f"本文:{body}")
print(f"優先度:{priority}")
print("---")
send_message("田中", "明日の会議は10時からです")
send_message("鈴木", "緊急連絡!", subject="至急", priority=3)
▶ 出力結果
宛先:田中 件名:お知らせ 本文:明日の会議は10時からです 優先度:1 --- 宛先:鈴木 件名:至急 本文:緊急連絡! 優先度:3 ---
