Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Для чего в Python 3.8 вводят новый оператор :=?

ПрограммированиеМашинное обучение+2
  · 2,0 K
Погромист на C#  · 20 мая 2022
Уже ввели*
В основном это нужно для сокращения кода.
Допустим у нас есть задача:
Просить пользователя ввести что-то в консоль, и разворачивать его ввод, пока пользователь не введёт q
Вот как это реализовать без :=
value = input("Something")
while (value != "q"):
  print(value.reverse())
  value = input("Something")
Вот так получается, если использовать :=
while ((value := input("Something")) != "q"):
  print(value.reverse())
PS: К машинному обучению вопрос отношения не имеет.
4 эксперта согласны
вы правы) но еще и Гвидо Ван Россум лично настаивал на введений этого моржового оператора) Хотя его не поддержали... Читать дальше
Пофигист с большим жизненным опытом, обремененный образованием и личной жизнью... ;)  · 23 мая 2022
Этим оператором стали определять переменные в границах выражения, и тогда когда использование знака = логически не верно. Это нужно, в основном, для сокращения кода и повышения его читаемости. Запись x := y не означает, что x и y равны друг другу. Здесь x определён как любое значение y. Уравнение скорее одностороннее, чем симметричное.  При этом правая часть — это... Читать далее
1 эксперт не согласен
Правая часть оператора := совсем не обязана быть функцией: a = (b := 1) print(a) # 1 print(b) # 1 Оператор := это... Читать дальше