В статье "What's New in Python 2.5" доступно и на примерах демонстрируются наиболее полезные новшества Python 2.5.
a = 1 if x > 15 else 2
Какое-то смешение Perl-style и C-style, в итоге - маразмъ.
Переведу на русский:
а равно 1 если x больше 15, иначе равно 2
и что тут не так?
Однообразия нет.
По мне читается хуже чем x > 15 ? a = 1 : a = 2 Здесь акцент сделан на условии, а два подобных присвоения в конце.
Если добавить к именам переменных символ $, то получиться Perl:
% perl -e 'my $x = $a = 0; $x > 15 ? $a = 1 : $a = 2; printf("x = %d\na = %d\n", $x, $a)' x = 0 a = 2
Так что... ;-)
Меня гораздо больше порадовало появление нормального RAII (хотя опять же в несколько "голландском" варианте контекст-менеджеров). Ну и унификация try-блоков -- мелочь, а приятно.
a = (x >15)?1:2;
товарищ,а ведь вы и вправду не знаете Си,учите матчасть, а напредмет читабельности так что a = 1 if x > 15 else 2 что a = (x >15)?1:2; читаются одинаково нормально
(удивленным тоном) а равно икс больше пятнадцати? один делим на два.
интуитивно, да.
(а по-моему, синтаксический костыль, сейчас уже и не поймешь, зачем придуманный. К питоновской конструкции это тоже относится, кстати)