我最近开始使用PEP 484和PEP 586来使我的代码更清晰、更易于理解。到目前为止一切都很好,但是当我想要使用typing
包中的Literal
时,似乎无法导入。
最令人惊讶的是,PyCharm并没有抱怨导入或使用它。
最终我想要使用的代码看起来像这样:
SomeVar = TypeVar("SomeVar", Literal['choice1'], Literal['choice2'], someType)
它将用于这样的情况:您可以使用字符串来描述您想要什么或已经有一个解决方案,例如:
def someFunc(my_var: SomeVar = 'choice1'):
result = []
if my_var == 'choice1':
result.append(...)
else:
result = my_var
return result
我使用带有Python 3.7.7的Anaconda环境。
Literal
类型。 - Dan Oneață