関数とスコープ

デフォルト引数・可変長引数

関数の引数にはデフォルト値(あらかじめ決めておく値)を設定できます。これを使うと、引数を省略したときに自動でその値が使われます。


  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

このように、デフォルト引数や可変長引数を使うと、関数の使い方がもっと自由になります。