Tips

今日の開発Tips(2025-08-02)

関数のパラメータにデフォルト値を設定することで、コードの可読性と保守性を向上させ、柔軟な関数設計を実現できます。 デフォルト値は、引数が渡されなかった場合に使用する値を指定します。これにより、関数呼び出し時の引数の省略が可能になり、コードが簡潔になります。 また、様々な状況に対応できる汎用性の高い関数を記述できます。

可変長引数とデフォルト引数の組み合わせによる柔軟な関数設計

関数の引数にデフォルト値を設定することで、引数の省略や可変長引数の柔軟な取り扱いが可能になります。これにより、複数の異なる状況に対応できる汎用性の高い関数を記述できます。

def greet(name="ゲスト", greeting="こんにちは"):
  print(f"{greeting}, {name}さん!")

greet()  # デフォルト値を使用: こんにちは, ゲストさん!
greet("太郎")  # nameのみ指定: こんにちは, 太郎さん!
greet(greeting="おはよう")  # greetingのみ指定: おはよう, ゲストさん!
greet("花子", "こんばんは")  # 全て指定: こんばんは, 花子さん!

def my_sum(*args):
  total = 0
  for num in args:
    total += num
  return total

print(my_sum(1,2,3)) # 6
print(my_sum(10,20)) # 30
print(my_sum()) # 0

注意点としては、可変長引数とデフォルト引数を同時に使う場合、可変長引数はデフォルト引数の後に配置する必要があります。デフォルト値の型には注意し、変更可能なオブジェクト(リストや辞書など)をデフォルト値として使用する場合、予期せぬ動作を防ぐため、関数内でコピーを作成するなど工夫が必要です。 デフォルト値を効果的に活用することで、コードの簡潔さと柔軟性を両立できます。