Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのデフォルト引数(デフォルトパラメータ)とは?基本の使い方をサンプルコードで解説

Pythonにおけるデフォルト引数(デフォルトパラメータ)とは、関数を呼び出す際にその引数へ値が渡されなかった場合に、自動的に初期値が適用される引数のことです。デフォルト引数を使うことで、同じ関数をさまざまなパターンで柔軟に呼び出せるようになります。

次の例では、age 引数にデフォルト値 35 を設定しています。呼び出し時に年齢が指定されなかった場合は、このデフォルト値が出力されます。

サンプルコード

#!/usr/bin/python
# 関数の定義
def printinfo(name, age = 35):
    "この関数は、渡された情報を出力します"
    print("Name:", name)
    print("Age", age)
    return

# printinfo関数の呼び出し
printinfo(age = 50, name = "miki")
printinfo(name = "miki")

実行結果

上記のコードを実行すると、次のような結果が出力されます。

Name: miki
Age 50
Name: miki
Age 35

解説のポイント

  • 1回目の呼び出しage = 50 と明示的に指定しているため、渡された値 50 がそのまま使用されます。
  • 2回目の呼び出しname のみを指定しているため、age にはデフォルト値 35 が自動的に適用されます。
  • キーワード引数:例のように name = "miki" の形式で引数名を指定すると、引数の順序に関係なく値を渡せます。

デフォルト引数を使用する際の注意点

デフォルト引数を定義する場合は、通常の引数より後に配置する必要があります。つまり、def func(a, b = 10) のように書くのは正しいですが、def func(a = 10, b) のように書くと構文エラーになります。

また、リストや辞書などのミュータブル(変更可能)なオブジェクトをデフォルト値にすると、意図しない動作を引き起こすことがあります。その場合は None をデフォルト値に設定し、関数内で初期化する方法が推奨されています。

  1. Pythonで文字列を大文字に変換する方法をわかりやすく解説

    Pythonでは、文字列の大文字・小文字を操作するための便利なメソッドがいくつか用意されています。目的に応じて使い分けることで、効率的に文字列を加工できます。 先頭の1文字だけを大文字にする:capitalize()メソッド 文字列の最初の単語の先頭文字だけを大文字にしたい場合は、文字列クラスの capitalize() メソッドを使用します。このメソッドは、先頭以外の文字はすべて小文字に変換される点にも注意してください。 使用例 >>> s = my name >>> s.capitalize() My name スライスを使って手動で大文字にする方法 メ

  2. Pythonの関数にオプション引数(デフォルト引数)を渡す方法をわかりやすく解説

    Pythonにおけるオプション引数とは Pythonでは、関数の引数にデフォルト値を設定できます。引数が省略された状態で関数が呼び出されると、その引数には自動的にデフォルト値が適用されます。これにより、1つの関数で「必須の引数」と「省略可能な引数(オプション引数)」を柔軟に扱えるようになります。 さらに、キーワード引数(名前付き引数)を使えば、引数を任意の順序で指定することも可能です。 基本的なコード例 以下の例では、nameが必須引数、msgとmsg2がオプション引数として定義されています。 def greet(name, msg=Good Morning, msg2=Come on in