PythonのLiteral
型は、特定の値のみを受け付ける型です。例えば、Literal[42, 10]
というLiteral
型は42か10の整数のみを受け付けます。また、Literal["apple", "orange"]
という型はapple
もしくはorange
という文字列のみを受け付けます。
Literal
型はPython3.8以降で使用可能で、typing
パッケージに含まれています。以下にその使用例を示します。
from typing import Literal
def any_func(value: Literal["apple", "orange"]) -> None:
...
この関数any_func
は、引数value
としてapple
かorange
の文字列のみを受け付けます。
Literal
型は、関数の引数等に対して特定の型を要求すると同時に、特定の値を持つことも要求できます。これにより、動的な値検査を行うアサーションや、Enum
を用いてとりうる値を絞ることが可能になります。
以上がPythonのLiteral
型についての基本的な説明です。この型は、特定の値のみを許容するような場合に非常に有用です。Python3.8以降を用いているプロジェクトについて、Literal
型の導入を検討してみてはいかがでしょうか。