Форум сайта python.su
Не смог удержаться от того, чтобы не попробовать первые бета-версии Python 2.6 и 3.0. В результате разродился довольно большой статьей про то, что в них появилось нового. Статься лежит здесь
Надеюсь, модераторы меня не убьют :))
Офлайн
О! спасибо!
просто отлично!
Отредактировано (Июнь 28, 2008 21:51:16)
Офлайн
Пожалуйста, рад, что понравилось :)
Офлайн
> Кроме того, будет создан файл с именем print_test.txt, который будет содержать строку “Тест1 Тест2 Тест3”.
В какой кодировке? На сколько я понимаю сейчас по умолчанию будет использовать utf-8 и текст в файл будет помещен предварительно сконвертированным в utf-8? Конечно, заработал пример только в 2.6, где еще не используются unicode по умолчанию, поэтому кодировка будет такой же в которой написан сам код. Вопрос относится к 3.0.
p.s. Не нравится мне Python 3, очень. (Кроме идеи со строками.) Постараюсь как можно дольше продержаться на текущей ветке.
p.p.s. Не нравится что сделали с print (следующей жертвой будет return?) и форматированием строк. Отсутствие обратной совместимости.
..bw
Отредактировано (Июнь 29, 2008 08:51:33)
Офлайн
bw
Я думаю, что в 3.0 тоже будет utf-8.
А чем 3.0 не нравится? Если добиться, чтобы заработал старый код, то вполне ничего. Но для начала хотелось бы на 2.6 перейти, но для этого придется ждать пока под него заработают нужные библиотеки.
Офлайн
> А чем 3.0 не нравится?
В p.p.s. в первом посту ответил.
> Еще одно заметное нововведение в Python 3.0 (в 2.6 этого нет) - это новый оператор // для целочисленного деления.
Этот оператор появился в 2.4, если не раньше. Я им пользуюсь, хотя это, как правило, не обязательно, для совместимости со следующими версиями. Но с учетом того как много изменений теперь придется внести в код, что бы он завелся на Py3, использование такого деления только для совместимости вряд ли оправданно.
> В Python 3.0 не стало функции xrange(), осталась только range(), но теперь она возвращает не список, а итератор.
Странно. Короткие списки, если использовать их в цикле for, работали быстрее “коротких итераторов” (в 2.3, про др. не знаю). xrange я использовал в основном для экономии памяти. И теперь не будет работать код " + range(10)"?!
p.s. Спасибо за обзор.
..bw
Офлайн
> Этот оператор появился в 2.4, если не раньше.
Это я действительно странно написал, учитывая, что примеры с // пробовал и в старом питоне. Попробую переписать эту фразу.
Офлайн
bwrange(-1, 10) спасет отца русской демократии?
> В Python 3.0 не стало функции xrange(), осталась только range(), но теперь она возвращает не список, а итератор.
Странно. Короткие списки, если использовать их в цикле for, работали быстрее “коротких итераторов” (в 2.3, про др. не знаю). xrange я использовал в основном для экономии памяти. И теперь не будет работать код " + range(10)"?!
Офлайн
P.S. мне тоже не нравится 3.0
Офлайн
Еще не понятно зачем надо было переименовывать xrange в range, уж оставили бы его со старым именем, а range удалили, если он им так мешал.
Офлайн