メインコンテンツまでスキップ

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

Pythonの関数は、デフォルト引数と可変長引数を使用して柔軟に引数を受け取ることができます。これにより、関数の汎用性と使いやすさが向上します。

デフォルト引数

デフォルト引数を使用すると、関数呼び出し時に引数を省略できます。デフォルト値は関数定義時に指定します。

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

greet("太郎") # 結果: こんにちは, 太郎さん!
greet("花子", "おはよう") # 結果: おはよう, 花子さん!

デフォルト引数は、関数定義の最後に配置する必要があります。

def greet(message="こんにちは", name):
# エラー: デフォルト引数は最後に配置する必要があります
pass

可変長引数

可変長引数を使用すると、任意の数の引数を受け取ることができます。

可変長位置引数

可変長位置引数は、*argsを使用して定義します。argsはタプルとして渡されます。

def add(*args):
return sum(args)

result = add(1, 2, 3, 4)
print(result) # 結果: 10

可変長キーワード引数

可変長キーワード引数は、**kwargsを使用して定義します。kwargsは辞書として渡されます。

def greet(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")

greet(name="太郎", message="こんにちは") # 結果: name: 太郎, message: こんにちは

デフォルト引数と可変長引数の組み合わせ

デフォルト引数と可変長引数を組み合わせて使用することもできます。

def greet(greeting="こんにちは", *names):
for name in names:
print(f"{greeting}, {name}さん!")

greet("おはよう", "太郎", "花子") # 結果: おはよう, 太郎さん! おはよう, 花子さん!

デフォルト引数と可変長引数を適切に使用することで、関数の柔軟性と使いやすさを向上させることができます。これにより、より汎用的で再利用可能なコードを書くことができます。