Loser story
901 subscribers
153 photos
22 files
142 links
Пишу всякое интересное про распределенные системы, базы данных и тд
https://github.com/MBkkt
Download Telegram
Вместо того чтобы готовится к ср по матану пишу сюда
#hate_python_2
Меня бесит ещё не вышдшая фича, точнее та неоднозначность что она вносит:
import numpy as np
with open("hui") as f:
Всем знакомая синтаксическая конструкция as , но начиная с python 3.8 у нас есть новая фича которая позволит писать например так
while (f := LongComputeFile()):
do_something...

:= , не будем о визуальной стороне вопроса это субъективно, но это вносит неоднозначность в например, теперь можно написать так:
with f := open("huy"):
Из плюсов этого нововведения, кроме примера с while (особенно если он вложенный), то что := можно будет(уже) использовать в generator expression, что прикольно, но как по мне самым правильным бы решением было бы дополнить до этих двух случаев as(да я в курсе что это не присваивание, а метод __enter__() обьекта), то есть в целом это нормальная фича(хотя явно не то в чем питон очень нуждался), но меня бесит эта неоднозначность, в with и import пишите так, а в generator, while, if, по другому хотя смысл крайне близок

https://www.python.org/dev/peps/pep-0572/#why-not-just-turn-existing-assignment-into-an-expression

Вот пеп, если кому интересно, сейчас вроде бы еще какое то говно пропихивают(связаное с пакетным менеджером), что грустно
👍1