デフォルト引数の設定 | デフォルト引数と可変長引数 | Python本格超入門

スポンサーリンク

スポンサーリンク

デフォルト引数の設定

Pythonの関数では、引数にデフォルト値を設定することができます。これにより、関数を呼び出す際に引数が渡されなかった場合、デフォルト値が使用されるため、関数呼び出し時の柔軟性が向上します。この記事では、デフォルト引数の設定について解説します。

デフォルト引数とは

デフォルト引数とは、関数定義時にあらかじめ設定される引数の値のことです。関数が呼び出される際に、引数が指定されない場合、そのデフォルト値が使用されます。以下は、デフォルト引数を持つ関数の基本的な例です。


# デフォルト引数を持つ関数の定義
def greet(name="ゲスト"):
    print(f"こんにちは、{name}さん!")
    

この関数は、引数nameにデフォルト値「ゲスト」を持ちます。引数を指定せずに関数を呼び出した場合、このデフォルト値が使用されます。


# 関数の呼び出し例
greet()  # 出力: こんにちは、ゲストさん!
greet("太郎")  # 出力: こんにちは、太郎さん!
    

この例では、greet()の呼び出し時に引数を指定しなかったため、デフォルト値「ゲスト」が使われ、greet("太郎")の場合は引数「太郎」が使われています。

複数のデフォルト引数

関数には複数のデフォルト引数を設定することも可能です。次の例では、2つの引数にデフォルト値が設定されています。


# 複数のデフォルト引数を持つ関数
def introduce(name="ゲスト", age=30):
    print(f"名前: {name}, 年齢: {age}")
    

この関数を呼び出す際、引数が1つまたは複数指定されなかった場合に、それぞれのデフォルト値が使用されます。


# 関数の呼び出し例
introduce()  # 出力: 名前: ゲスト, 年齢: 30
introduce("太郎")  # 出力: 名前: 太郎, 年齢: 30
introduce("太郎", 25)  # 出力: 名前: 太郎, 年齢: 25
    

デフォルト引数の順序

Pythonでは、デフォルト引数を持つ引数は、必ずデフォルト値を持たない引数の後に記述する必要があります。そうでない場合、SyntaxErrorが発生します。


# 不正なデフォルト引数の定義(エラー発生)
def incorrect_function(age=30, name):
    print(f"名前: {name}, 年齢: {age}")
    

このように、デフォルト引数は常に非デフォルト引数の後に定義しなければなりません。

デフォルト引数のまとめ

項目 説明
デフォルト引数 引数が指定されなかった場合に使用される値
複数のデフォルト引数 複数の引数にデフォルト値を設定することが可能
引数の順序 デフォルト引数は、非デフォルト引数の後に指定する必要がある

まとめ

デフォルト引数を使うことで、関数呼び出しの柔軟性を高めることができます。複数の引数にデフォルト値を設定したり、デフォルト引数を活用して関数をより使いやすく設計することが可能です。しかし、デフォルト引数の順序に注意し、必ず非デフォルト引数の後に設定するようにしましょう。