Pythonでは、関数の引数や戻り値に複数の型ヒントを指定することが可能です。これにより、コードの可読性や保守性を向上させることができます。

Union型ヒント

Union型ヒントを使用すると、引数に複数の型を指定することができます。具体的なコード例を見てみましょう。

from typing import Union

def greet(name: Union[str, list[str]]) -> str:
    if isinstance(name, str):
        return f"Hello, {name}!"
    elif isinstance(name, list):
        return f"Hello, {', '.join(name)}!"
    else:
        return None

print(greet("World"))
print(greet(["Alice", "Bob"]))
print(greet(42))

上記の例では、nameという引数には、str型またはList[str]型のいずれかを指定することができます。isinstance()関数を使用して、引数の型を判定し、適切な処理を行っています。

Tuple型ヒント

Tuple型ヒントを使用すると、引数に複数の型をタプルで指定することができます。以下に例を示します。

def calculate_average(numbers: tuple[int, float]) -> float:
    return sum(numbers) / len(numbers)

print(calculate_average((1, 2, 3, 4, 5)))
print(calculate_average((1.1, 2.2, 3.3, 4.4, 5.5)))

上記の例では、numbersという引数には、int型とfloat型の要素を持つタプルを指定することができます。sum()関数を使用して要素の合計を計算し、len()関数を使用して要素の数で割って平均値を求めています。

Any型ヒント

Any型ヒントを使用すると、引数にどんな型でも指定することができます。以下に例を示します。

from typing import Any

def print_value(value: Any) -> None:
    print(value)

上記の例では、valueという引数には、どんな型でも指定することができます。print()関数を使用して、引数の値を出力しています。

以上が関数の引数に複数の型ヒントを指定する方法の紹介です。適切な型ヒントを使用することで、コードの可読性や保守性を向上させることができます。

投稿者 admin

コメントを残す

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