関数の引数にはデフォルト値(あらかじめ決めておく値)を設定できます。これを使うと、引数を省略したときに自動でその値が使われます。
def greet(name="ゲスト"):
print(f"こんにちは、{name}さん!")
greet() # 出力: こんにちは、ゲストさん!
greet("太郎") # 出力: こんにちは、太郎さん!
このように、引数を渡さなければ「ゲスト」、渡せばその名前であいさつします。
引数の数が決まっていないときは、可変長引数を使います。*args
は「いくつでもOK」の引数をまとめて受け取ります。
def show_args(*args):
for arg in args:
print(arg)
show_args(1, 2, 3) # 出力: 1 2 3
show_args("A", "B") # 出力: A B
*argsはタプルとして値を受け取ります。たくさんのデータを一度に処理したいときに便利です。
また、**kwargs
を使うと、キーワード付きの引数をまとめて受け取ることもできます。
def show_kwargs(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
show_kwargs(name="花子", age=12) # 出力: name: 花子, age: 12
このように、デフォルト引数や可変長引数を使うと、関数の使い方がもっと自由になります。