Релиз Python 2.7

Доступен релиз Python 2.7, последней ветки языка программирования Python серии 2.x. Версия 2.7 будет поддерживаться 5 лет, но поддержка будет ограничена только исправлением ошибок, новшества в ветку 2.x больше добавляться не будут.

Разработчики языка Python советуют обдумать возможность миграции своих программ не Python 3, который обратно не совместим с Python 2 и в настоящее время находится в состоянии двухгодичного моратория на изменение синтаксиса языка, который продлится до 26 июня 2011 года. Используя Python 2.7 разработчики могут плавно перевести свои проекты на использование новых технологий ветки Python 3, после чего разом сконвертировать конфликтующие в двух ветках языковые элементы специально подготовленным автоматическим конвертером.

Основные новшества Python 2.7, которые были бэкпортированы из ветки Python 3.1:

  • Реализован класс collections.OrderedDict для организации хранения упорядоченных словарных данных;
  • Новые возможности юнит-тестирования, включая поддержку временного отключения определенных тестов и новые assert-методы;
  • Значительно увеличена скорость работы io-модуля. Библиотека ввода/вывода переписана на языке Си, что позволило ускорить ее работу от 2 до 20 раз;
  • В методе str.format() появилась возможность определения способа разбиения числа на тысячные составляющие (например: format(1234567, ',d') выведет 1,234,567);
  • Реализация класса memoryview, позволяющего коду на языке Python получить доступ к внутренним данным объектов;
  • Поддержка нового синтаксиса для вложенных операторов "with";
  • Реализация Tile-виджетов в Tkinter, для доступа к Tcl/Tk "themed" виджетам.
  • Поддержка синтаксиса set-литералов: {1,2,3,4,5} идентично set([1, 2, 3, 4, 5]);
  • Стало возможным использование выражений в блоках задания элементов словарей и set-ов, например: {x: x*x for x in range(6)} приведет к генерации словаря {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25};
  • Поддержка нового синтаксиса для формирования вложенных конструкций "with", например, указание "with A() as a, B() as b:" эквивалентно паре "with A() as a:" и "with B() as b:";
  • Для обеспечения совместимости с работой функций для работы со словарями в Python 2.7 добавлены функции viewkeys(), viewvalues() и viewitems(), которое реализуют логику работы, свойственную Python 3.x (возврат ссылочного объекта вместо фактических данных). Логика работы функций keys(), values() и items() оставлена неизменной с целью сохранения совместимости с веткой Python 2.x;
  • В комплект добавлен модуль sysconfig, предназначенный для организации доступа к конфигурационным переменным Python, таким как пути установки.

© OpenNet