【Python】関数の引数について解説

【Python】関数の引数について解説

関数と引数の基本

Pythonの関数は、コードを再利用可能なブロックにまとめるための重要な機能です。関数は「引数(arguments)」を受け取り、処理を行い、必要に応じて値を返します。


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

greet("太郎")  # こんにちは、太郎さん!

位置引数

関数に渡す引数の順番が重要な場合、それを「位置引数」と呼びます。


def add(a, b):
    return a + b

print(add(3, 5))  # 8

デフォルト引数

引数にデフォルト値を設定すると、省略時にその値が使用されます。


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

greet()  # こんにちは、ゲストさん!
greet("花子")  # こんにちは、花子さん!

キーワード引数

キーワード引数を使うと、関数呼び出し時に引数名を明示でき、順番を気にせずに値を渡せます。


def introduce(name, age):
    print(f"{name}さんは{age}歳です。")

introduce(age=25, name="太郎")  # 太郎さんは25歳です。

可変長引数

複数の引数を1つの変数にまとめるには、*argsを使います。


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

print(sum_numbers(1, 2, 3, 4))  # 10

キーワード付き可変長引数

キーワード引数を辞書として受け取る場合、**kwargsを使用します。


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

person_info(name="太郎", age=30, country="日本")

引数のアンパック

リストや辞書を展開して関数に渡すことも可能です。


def greet(name, age):
    print(f"{name}さんは{age}歳です。")

info = ["太郎", 25]
greet(*info)  # 太郎さんは25歳です。

data = {"name": "花子", "age": 28}
greet(**data)  # 花子さんは28歳です。

引数の順序

Pythonでは引数の順序が重要です。


def func(a, b=2, *args, c=3, **kwargs):
    print(a, b, args, c, kwargs)

func(1, 10, 20, 30, c=40, d=50)  
# 出力: 1 10 (20, 30) 40 {'d': 50}

lambda関数の引数

無名関数(lambda関数)にも引数を渡せます。


square = lambda x: x ** 2
print(square(4))  # 16

add = lambda x, y: x + y
print(add(2, 3))  # 5

関数の引数の型アノテーション

関数の引数と戻り値の型を明示することができます。


def multiply(x: int, y: int) -> int:
    return x * y

print(multiply(3, 4))  # 12

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です