Size: a a a

2020 July 15

A🌚

Al 🌚l in rannts
А никто не смотрел чего ему ответили?
источник

A🌚

Al 🌚l in rannts
Лол
источник

A🌚

Al 🌚l in rannts
` One additional drawback ... if anytime sooner or later you would wanted to introduce scoped
variables like in Rust with keyword var or let it could make some problems ...
python
let x = 3 # Parser will think that it is the function let
источник

A🌚

Al 🌚l in rannts
А в целом комменты положительные, люди голосуют +1
источник

💭П

💭 Руслан Прохоров... in rannts
А был такой хороший Питон.....
источник

A🌚

Al 🌚l in rannts
💭 Руслан Прохоров
А был такой хороший Питон.....
2й? Да, отличный был)
источник

A🌚

Al 🌚l in rannts
И принт без скобочек работал... Красота
источник

💭П

💭 Руслан Прохоров... in rannts
Al 🌚l
2й? Да, отличный был)
Нет, 3!
источник

MF

Mikhail Fitasov in rannts
ужос то какой, пожалуйста не надо
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Во втором питоне очень заколебали неожиданные ошибки, из-за того что например фунция принимает  юникод, но не дай бог в нём будет что-то кроме ascii - она тут же падает, потому что на самом деле умеет только в строки (которые во втором питоне). И другие подобные проблемы, когда сложно догадаться умеет функция в юникод или нет и отсутствие согласованности в вопросе "что же есть такое строки?".
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Например всякие функция для расчёта хешей и конвертирования в base64. Во втором питоне туда можно запихнуть юникод, и если внутри только ascii, то проблем не будет - все тесты сработают. А в продакшене прилетит кириллица и всё рухнет.
источник

💭П

💭 Руслан Прохоров... in rannts
Kirill (Cykooz) Kuzminykh
Например всякие функция для расчёта хешей и конвертирования в base64. Во втором питоне туда можно запихнуть юникод, и если внутри только ascii, то проблем не будет - все тесты сработают. А в продакшене прилетит кириллица и всё рухнет.
Ну не надо.. Я не хочу вс. эту боль вспоминать, а это ещё иногда стреляет (
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Есть тут специалисты по typing? Мне надо на нём описать штуку, когда функция принимает в качестве аргумента любой класс унаследованный от конкретного базового класса, и возвращает наружу экземпляр этого класса. Т.е. как-то вот так:
def func(klass: Type[V]) -> V:


И вот надо как-то сказать что V - это generic тип с ограничением на базовый класс.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
А, PyCharm просто не умеет в это
https://youtrack.jetbrains.com/issue/PY-25832
источник

KK

Kirill (Cykooz) Kuzm... in rannts
А то я сам нашёл решение, но PyCharm ругался на него.
источник

SA

Sergey Arkhipov in rannts
TypeVar("YourType", bound=BaseClass) - ?
источник

A🌚

Al 🌚l in rannts
NewType()?
источник

A🌚

Al 🌚l in rannts
А хотя не, он для другого
источник
2020 July 16

KK

Kirill (Cykooz) Kuzm... in rannts
Sergey Arkhipov
TypeVar("YourType", bound=BaseClass) - ?
Да, всё верно - я это сначала пробовал, но писал в квадратных скобках по привычке, как в тайп-аннотациях. Поэтому PyCharm и ругался на bound. Пока не запустил тесты не увидел ошибки.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
В общем всё получилось:
_V = TypeVar('_V', bound=Validator)


def get_validators_by_type(validators: List[Validator], klass: Type[_V]) -> List[_V]:
   ...
источник