如何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')
上面的代码类型检查 since'add'是 type Literal['add'],但在运行时,它会引发一个 ValueError 因为字符串'add'与 不同typing.Literal['add']。
如何在运行时重用我在类型级别定义的文字?