\

Pythonの型ヒントには、UnionLiteralという2つの便利な型があります。これらは、特定の値の集合を表現するために使用されます。

Union型

Union型は、「xまたはy」を意味します。つまり、Unionの引数は型でなければなりません。

from typing import Union

def func(x: Union[int, str]):
    pass

上記の例では、func関数の引数xint型またはstr型のいずれかであることを示しています。

Literal型

一方、Literal型は、「文字通り5または文字通り6」を意味します。つまり、Literalの引数はリテラルでなければなりません。

from typing_extensions import Literal

def func(x: Literal[5, 6]):
    pass

上記の例では、func関数の引数xは文字通り5または6であることを示しています。

Union型とLiteral型の組み合わせ

Union型とLiteral型を組み合わせることで、特定の値の集合をより具体的に表現することができます。

from typing import Union
from typing_extensions import Literal

def func(x: Union[Literal[5], Literal[6]]):
    pass

上記の例では、func関数の引数xは文字通り5または6であることを示しています。

このように、Union型とLiteral型を組み合わせることで、Pythonの型ヒントはさらに強力で表現豊かになります。これらの型を適切に使用することで、コードの可読性と保守性を向上させることができます。

投稿者 admin

コメントを残す

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