【Python】関数の引数の書き方を解説

この記事では、Pythonの関数の引数について詳しく解説します。

位置引数やキーワード引数の書き方や使い方、引数の順序について学ぶことができます。

さらに、引数の型注釈についても紹介します。

目次から探す

関数の引数とは

関数の引数とは、関数に渡す値や情報のことを指します。

関数は、引数を受け取って処理を行い、結果を返すことができます。

引数を使うことで、関数はより柔軟に動作することができます。

位置引数の書き方

位置引数は、関数に渡す引数を順番に指定する方法です。

以下のような方法で位置引数を指定することができます。

単純な位置引数の指定

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

greet("太郎")

上記の例では、greetという関数にnameという引数を渡しています。

関数を呼び出す際に、引数の値を指定することで、関数内でその値を利用することができます。

デフォルト引数の指定

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

greet()
greet("太郎")

上記の例では、greetという関数にnameという引数を渡していますが、デフォルト値を指定しています。

関数を呼び出す際に引数の値を指定しない場合、デフォルト値が使用されます。

可変長引数の指定

def sum_numbers(*numbers):
    total = 0
    for num in numbers:
        total += num
    return total

result = sum_numbers(1, 2, 3, 4, 5)
print(result)

上記の例では、sum_numbersという関数に可変長引数*numbersを指定しています。

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

関数内では、可変長引数はタプルとして扱われます。

キーワード引数の書き方

キーワード引数は、引数を指定する際に引数名を明示的に指定する方法です。

以下のような方法でキーワード引数を指定することができます。

キーワード引数の指定

def greet(name, age):
    print("こんにちは、" + name + "さん!" + str(age) + "歳ですね。")

greet(name="太郎", age=20)

上記の例では、greetという関数にnameとageという引数を渡しています。

関数を呼び出す際に、引数名と値を指定することで、引数の順番に関係なく値を渡すことができます。

デフォルト引数とキーワード引数の併用

def greet(name="ゲスト", age=0):
    print("こんにちは、" + name + "さん!" + str(age) + "歳ですね。")

greet()
greet(name="太郎", age=20)

上記の例では、greetという関数にデフォルト引数とキーワード引数を併用しています。

関数を呼び出す際に引数の値を指定しない場合、デフォルト値が使用されます。

また、キーワード引数を使って引数の順番を指定することもできます。

引数の順序

引数の順序は、関数を呼び出す際に引数を指定する順番を指します。

引数の順序にはいくつかの制約があります。

位置引数とキーワード引数の併用

def greet(name, age):
    print("こんにちは、" + name + "さん!" + str(age) + "歳ですね。")

greet("太郎", age=20)

上記の例では、greetという関数に位置引数とキーワード引数を併用しています。

位置引数は先に指定し、その後にキーワード引数を指定する必要があります。

引数の順序の制約

def greet(name, age=0):
    print("こんにちは、" + name + "さん!" + str(age) + "歳ですね。")

greet(age=20, "太郎")

上記の例では、greetという関数に引数の順序が逆になっています。

この場合、エラーが発生します。

引数の順序は、位置引数が先に来て、その後にキーワード引数が来るように指定する必要があります。

引数の型注釈

引数の型注釈は、関数の引数に対して、その引数が受け取るべきデータ型を指定する方法です。

以下のような方法で引数の型注釈を行うことができます。

型注釈の書き方

def greet(name: str, age: int) -> None:
    print("こんにちは、" + name + "さん!" + str(age) + "歳ですね。")

greet("太郎", 20)

上記の例では、greetという関数の引数nameには文字列型(str)、引数ageには整数型(int)を指定しています。

また、関数の戻り値にはNoneを指定しています。

型注釈の利点

型注釈を使うことで、関数の引数や戻り値のデータ型を明示的に指定することができます。

これにより、コードの可読性が向上し、バグの早期発見や予期せぬエラーの防止に役立ちます。

また、一部の統合開発環境や静的解析ツールは、型注釈を利用してコードの解析や補完を行うことができます。

目次から探す