The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Python 3.8"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Выпуск языка программирования Python 3.8" +/
Сообщение от Аноним (91), 15-Окт-19, 22:56 
> Самое отвратительное нововведение. Только нового синтаксиса для присвоения нам не хватало.

А как лучше записать без нового синтаксиса вот это:

stuff = [(y := f(x), x/y) for x in range(5)]

Вызывать функцию дважды? (f(x), x/f(x)) Впихнуть лямбду? Развернуть в 4 строки с присваиванием? Предложи вариант лучше.

Смотри на это не как на присваивание, а как на named expression. Если у тебя выражение дублируется несколько раз в одной строке, то ты вместо копипасты можешь один раз дать ему имя и дальше это имя использовать.

Никто не говорит, что так нужно писать всегда. Наоборот, в https://www.python.org/dev/peps/pep-0572/ есть огромный список того, как НЕ НАДО делать. Но если ты всё равно пишешь говнокод, то такая конструкция позволяет написать его чуточку лучше.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск языка программирования Python 3.8, opennews, 15-Окт-19, 13:13  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру