Я недавно начал использовать PEP 484 и PEP 586 , чтобы сделать мой код более понятным и доступным. Пока все было хорошо, но когда я захотел использовать Literal
из пакета typing
, оказалось, что его нельзя было импортировать. Что самое удивительное, 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
Я использую среду Anaconda с Python 3.7.7.