Найти - Пользователи
Полная версия: Python 2.6 и 3.0
Начало » Python для экспертов » Python 2.6 и 3.0
1 2 3
Jenyay
Не смог удержаться от того, чтобы не попробовать первые бета-версии Python 2.6 и 3.0. В результате разродился довольно большой статьей про то, что в них появилось нового. Статься лежит здесь

Надеюсь, модераторы меня не убьют :))
shiza
О! спасибо!
просто отлично!
Jenyay
Пожалуйста, рад, что понравилось :)
bw
> Кроме того, будет создан файл с именем 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
Jenyay
bw
Я думаю, что в 3.0 тоже будет utf-8.

А чем 3.0 не нравится? Если добиться, чтобы заработал старый код, то вполне ничего. Но для начала хотелось бы на 2.6 перейти, но для этого придется ждать пока под него заработают нужные библиотеки.
bw
> А чем 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
Jenyay
> Этот оператор появился в 2.4, если не раньше.

Это я действительно странно написал, учитывая, что примеры с // пробовал и в старом питоне. Попробую переписать эту фразу.
bialix
bw
> В Python 3.0 не стало функции xrange(), осталась только range(), но теперь она возвращает не список, а итератор.
Странно. Короткие списки, если использовать их в цикле for, работали быстрее “коротких итераторов” (в 2.3, про др. не знаю). xrange я использовал в основном для экономии памяти. И теперь не будет работать код " + range(10)"?!
range(-1, 10) спасет отца русской демократии?
bialix
P.S. мне тоже не нравится 3.0
Jenyay
Еще не понятно зачем надо было переименовывать xrange в range, уж оставили бы его со старым именем, а range удалили, если он им так мешал.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB