Size: a a a

2019 November 29

DM

Dmitry Masanov in rannts
В TypeScript переменную можно объявить так:
language: 'ru' | 'en'

А в питоне с помощью typing такое возможно?
источник

AM

Artem Malyshev in rannts
Dmitry Masanov
В TypeScript переменную можно объявить так:
language: 'ru' | 'en'

А в питоне с помощью typing такое возможно?
Union [ Literal [ "ru" ] , Literal [ "en" ] ]
источник

DM

Dmitry Masanov in rannts
Спасибо!
источник

AM

Artem Malyshev in rannts
Sergey Arkhipov
Не превратятся. С чего бы?
Одна проблема будет - начнет пропадать с CI провайдеров и надо будет ставить из dead snakes.
источник

SB

Sergey Belash in rannts
Dmitry Masanov
В TypeScript переменную можно объявить так:
language: 'ru' | 'en'

А в питоне с помощью typing такое возможно?
А шо ето означает? Языковая суперпозиция?
источник

DM

Dmitry Masanov in rannts
В переменную можно будет записать только ru или только en. На остальные значения линтер будет ругаться
источник

DM

Dmitry Masanov in rannts
Кстати, вроде в хелпе проще запись нашел:
language: Literal['ru', 'en']
источник

AM

Artem Malyshev in rannts
Dmitry Masanov
Кстати, вроде в хелпе проще запись нашел:
language: Literal['ru', 'en']
🤟
источник

TK

Tigran Kostandyan in rannts
Artem Malyshev
Union [ Literal [ "ru" ] , Literal [ "en" ] ]
выглядит максимально уродски рядом с ТС)
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Зато более гибкое
источник

SA

Sergey Arkhipov in rannts
Можно было, кстати, сахарку-то подсыпать в теории. Literal["ru"] | Literal["en"]
источник

AM

Artem Malyshev in rannts
Tigran Kostandyan
выглядит максимально уродски рядом с ТС)
Потому что питон это язык для людей без чувства прекрасного.
источник

DM

Dmitry Masanov in rannts
Но самое обидное - что AWS lambda в python3.8 пока не умеет, а Literal как раз там появились. 🙂
источник

RB

Roman Bolkhovitin in rannts
Dmitry Masanov
Но самое обидное - что AWS lambda в python3.8 пока не умеет, а Literal как раз там появились. 🙂
Из typing_extensions можно взять

https://github.com/python/typing/tree/master/typing_extensions
источник

DM

Dmitry Masanov in rannts
Да, спасибо, но что-то слишком сложно. Поставлю просто str 🙂
источник

AM

Artem Malyshev in rannts
Dmitry Masanov
Но самое обидное - что AWS lambda в python3.8 пока не умеет, а Literal как раз там появились. 🙂
typing extension же
источник

AM

Artem Malyshev in rannts
Dmitry Masanov
Да, спасибо, но что-то слишком сложно. Поставлю просто str 🙂
Оно идёт вместе с mypy если что.
источник

RB

Roman Bolkhovitin in rannts
Artem Malyshev
Оно идёт вместе с mypy если что.
Так то да, только я например майпай как dev- зависимость ставлю, что вроде логично. Но неудобно потому что так экстеншены в рантайме недоступны
источник

DM

Dmitry Masanov in rannts
А еще pycharm ругается на Literal, говорит unresolved refference 'ru'
источник

AM

Artem Malyshev in rannts
Roman Bolkhovitin
Так то да, только я например майпай как dev- зависимость ставлю, что вроде логично. Но неудобно потому что так экстеншены в рантайме недоступны
источник