【发布时间】:2020-01-26 14:47:57
【问题描述】:
假设我有一个函数,其字符串参数对应于方法名称:
def func(method: str):
if method not in ('simple_method', 'some_other_method'):
raise ValueError('Unknown method')
我可以添加所有可能支持的选项(字符串)作为该参数的类型提示吗?例如,像这样的东西(由于没有输入 Str ,所以不起作用):
from typing import Str
def func(method: Str['simple_method', 'some_other_method']):
...
【问题讨论】:
-
您可能的方法名称似乎是
enum,所以您可以查看stackoverflow.com/questions/52624736/… -
重要的是,开发人员从不遵循提示:P
-
typing.Literal这将允许你指定def func(method: Literal['simple_method', 'some_other_method']): ...你可以像这样得到它from typing import Literal
标签: python type-hinting