Pythonの型ヒントの一つであるUnion
は、関数やメソッドの引数や戻り値に複数の異なる型を指定することができます。これにより、引数や戻り値が複数の型のいずれかであることを示すことができます。
Union型ヒントの使い方
Union
型ヒントを使用するには、引数や戻り値の型ヒントの位置にUnion[型1, 型2, ...]
という形式で指定します。たとえば、数値または文字列を受け取る関数の場合、引数の型ヒントにUnion[int, str]
と指定することができます。
from typing import Union
def print_value(value: Union[int, str]) -> None:
print(value)
print_value(10) # 数値を受け取る場合
print_value("Hello") # 文字列を受け取る場合
Union型ヒントの注意点
Union
型ヒントを使用する際には、いくつかの注意点があります。まず、Union
型ヒントを使用することで、引数や戻り値の型が複数の候補となるため、型のチェックが厳密になりません。そのため、実行時に型エラーが発生する可能性があります。また、Union
型ヒントを使用する場合、コードの可読性が低下する可能性があるため、適切な場面で使用することが重要です。
Union型ヒントの具体的な例
以下に、Union
型ヒントを使用した具体的なコード例を示します。
from typing import Union, List, Tuple
def print_values(values: Union[List[int], Tuple[str, str]]) -> None:
for value in values:
print(value)
print_values([1, 2, 3]) # リストを受け取る場合
print_values(("Hello", "World")) # タプルを受け取る場合
この例では、引数としてリストまたはタプルを受け取る関数を定義しています。
以上がPythonのUnion
型ヒントの基本的な使い方と注意点です。適切に使用することで、Pythonのコードの型安全性と可読性を向上させることができます。