Python 3.0

Не знаю когда выйдет «Пайтон» версии 3 (roadmap я не смотрел), но что в нём нового мне хочется знать уже сейчас. Из всех изменений для меня наиболее непонятное замена конструкции print на функцию с тем же названием. Видимо для того, чтобы можно было её перекрыть?

Это изменение для меня лично неудобно. В дальнейшем придётся держать в голове на какой версии я пишу — 2.5 или 3.0 (в 2.6 эту функцию можно импортировать из модуля __future__). В Python 2.5 конструкция print () выведет пустой тупл (tuple), а в Python 3.0 — пустую строку. Соотвественно, print ('a', 'b') в 2.5 означает печать тупла со значениями 'a' и 'b', а в 3.0 — вывод двух строковых параметров.

Все остальные изменения одобряю со страшной силой (хотя зачем нужно было рушить синтаксис исключений мне тоже неведомо, чтобы не пересекались указания нескольких обрабатываемых исключений и переменные, куда они помещаются?).
11 сентября 2008 22:30

sl37.livejournal.com (sl37.livejournal.com)
11 сентября 2008, 23:30

Никакой альтернативы двойным подчеркиваниям не придумали?

bolk (bolknote.ru)
11 сентября 2008, 23:37, ответ предназначен sl37.livejournal.com:

Увы, нет :(

Это одна из двух вещей, которая в Пайтоне мне кажется костылём. Зато вполне логично заменили range на xrange. Существование их двоих мне всегда казалось избыточным. Ещё понравилось, что has_key у словарей заменили на in.

А вот за что убили мой любимый <> я не знаю. Мне он всегда больше нравился, чем !=

wiktar (wiktar.com)
12 сентября 2008, 00:29, ответ предназначен bolk (bolknote.ru):

Ну "!=" - это "не равно", а "<>" - это "меньше-больше" ;)

Да, единственное, что мне не нравится в Питоне - __это__подчёркивания__.

bolk (bolknote.ru)
12 сентября 2008, 00:36, ответ предназначен wiktar (wiktar.com):

a!=b — это «факториал „а“ равен „b“», а <> — это «больше или меньше».

мне ещё декораторы в Python не нравятся.

zencd.livejournal.com (zencd.livejournal.com)
12 сентября 2008, 14:35, ответ предназначен bolk (bolknote.ru):

На мой взгляд, люди чаще оперируют понятием «не равно», нежели «больше или меньше».

bolk (bolknote.ru)
12 сентября 2008, 14:55, ответ предназначен zencd.livejournal.com:

!= — это такой же набор значков, как и <>. Никто в уме не раскладывает его на «не» и «равно», тем более, что это и неверно, так как «=» — это присваивание, «==» — вот так записывается сравнение. Значки воспринимаются монолитно и какой как воспринимается — вопрос опыта, а не логики. Вряд ли кто-то скажет, что «@something» — это декоратор в «Пайтоне». Почему «@»? Какая тут логика?

Так что я тут «!=» ровно столь же логичен, как и <>. Но последний мне нравится больше из-за одинаковой насыщенности элементов.

voldmar (voldmar.ya.ru)
12 сентября 2008, 18:39

in для словарей и в 2.5 есть.

А декораторы чем тебе не нравятся?

bolk (bolknote.ru)
12 сентября 2008, 19:26, ответ предназначен voldmar (voldmar.ya.ru):

Декораторы не нравятся тем, что это похоже на макроязык. А мне не нравятся макроязыки.

Я неверно высказался. «has_key» у словарей больше не будет, будет только «in».

voldmar (voldmar.ya.ru)
12 сентября 2008, 19:53, ответ предназначен bolk (bolknote.ru):

Это ты про навешивание десяти декораторов на функцию?

bolk (bolknote.ru)
12 сентября 2008, 20:31, ответ предназначен voldmar (voldmar.ya.ru):

И про это тоже. Сама конструкция @что-то кажется очень чужеродной.

zencd.livejournal.com (zencd.livejournal.com)
12 сентября 2008, 23:50, ответ предназначен bolk (bolknote.ru):

Всё-таки в != и <> есть логика, в отличии от @, где приходится тупо запоминать. Так что не согласен что «вопрос опыта». Ну ладно можно и на брэйнфаке писать, но на интуитивность такое решение уже не претендует.

Лично я про себя думаю «не равно», я в этом плане ограничиваюсь и использую минимум конструкций. Полагаю, именно из-за этого связка «!» («не») с «=» («равно») мне идеально подходит. Если бы я думал «больше или меньше», идеальнее было бы «<>». Кстати, в «<>» ещё и отсутствует слово «или»; может и мелочь, но «!=» в этом смысле полнее описывает работу мозга и в этом же смысле короче («не равно» vs «больше или меньше»).

zencd.livejournal.com (zencd.livejournal.com)
12 сентября 2008, 23:52

Вообщем, хорошо бы собрать статистику как думают программисты и на основе этого принимать решение — всё ж для людей дело делается :-)

bolk (bolknote.ru)
13 сентября 2008, 11:25, ответ предназначен zencd.livejournal.com:

Экая теория из ничего ;)

Логично или нет, а связка «!=» просто запоминается. Распознаётся тоже монолитно. А мы можем сознательно её делить или нет. Если же говорить о том, что лучше с точки зрения логики, то я за <>, она более раскрывает суть, чем «неравно». Думаю, спор, по большому счёт, пустой. В Python3 этой конструкции не будет и (увы) точка.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)