Literal[]
from からリテラル値を取得するにはどうすればよいtyping
ですか?
from typing import Literal, Union
Add = Literal['add']
Multiply = Literal['mul']
Action = Union[Add,Multiply]
def do(a: Action):
if a == Add:
print("Adding!")
elif a == Multiply:
print("Multiplying!")
else:
raise ValueError
do('add')
上記のコード'add'
は が typeであるため、型をチェックしますが、文字列が と同じではないLiteral['add']
ため、実行時に ValueError が発生します。'add'
typing.Literal['add']
型レベルで定義したリテラルを実行時に再利用するにはどうすればよいですか?