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()
関数を使用して、引数の値を出力しています。
以上が関数の引数に複数の型ヒントを指定する方法の紹介です。適切な型ヒントを使用することで、コードの可読性や保守性を向上させることができます。