Недавно я начал использовать 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.
1 ответ
Как указано в документах, typing.Literal
только доступно с Python 3.8 и выше.
Похожие вопросы
Связанные вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.