Pythonでは、型ヒントを使ってコードの可読性を向上させることができます。特にUnion
とOptional
は、変数が取りうる値の型を柔軟に表現するための重要なツールです。
Union型
Union
は、変数が複数の型のいずれかを取りうることを示すための型です。例えば、ある関数が整数またはNone
を返す可能性がある場合、その戻り値の型はUnion[int, None]
となります。
from typing import Union
def func() -> Union[int, None]:
# 何らかの処理
...
しかし、このようにUnion
を使ってNone
を含む型を表現することは一般的なため、Pythonにはこれを簡易に表現するためのOptional
型が用意されています。
Optional型
Optional
型は、Union[X, None]
を簡易に表現するための型です。つまり、Optional[X]
はX
またはNone
を表します。
from typing import Optional
def func() -> Optional[int]:
# 何らかの処理
...
Python 3.10以降では、Optional
やUnion
をインポートすることなく、|
演算子を使ってこれらの型を表現することができます。
def func() -> int | None:
# 何らかの処理
...
この新しい記法は、型ヒントをより直感的に書くことができ、コードの可読性をさらに向上させることができます。
以上、PythonのUnion
とOptional
について簡単に説明しました。これらの型ヒントを適切に使うことで、Pythonコードの品質を向上させることができます。