Началось бета-тестирование Python 2.6 и Python 3.0

19 июня 2008 года

Началось бета-тестирование Python 2.6 и Python 3.0. Финальные релизы 2.6 и 3.0 запланированы на сентябрь.

Python 2.6 представляет собой переходный релиз, облегчающий переход с Python 2.x на Python 3.0, например появятся предупреждения для разработчиков о тех конструкциях языка, которые могут вызвать проблемы при переходе на версию 3.0. Многие возможности Python 3.0 будут портированы в ветку 2.6 не нарушая совместимости с ранее написанными для Python 2.x скриптами.

Из новых возможностей Python 3.0 можно отметить:

  • Нарушение обратной совместимости со скриптами, разработанными для более ранних версий Python;
  • Удаление дублирующих конструкторов и модулей;
  • Вместо оператора форматирования строк "%" будет использован глобальная функция и метод format(), например "The story of {0}, {1}, and {c}".format(a, b, c=d) или print(format(10.0, "7.3g")).
  • Будут удалены методы dict.iterkeys(), dict.itervalues() и dict.iteritems(). Методы dict.keys(), dict.values() и dict.items() будут возвращать контейнер объектов (итератор);
  • Возможность аннотирования параметров функций и возвращаемых значений, например def compile(source: "something compilable").
  • Замена оператора print, который широко используется для вывода, на функцию print();
  • Использование Unicode в качестве основной кодировки представления строк (единый тип str, вместо раздельных str и unicode);
  • Для хранения бинарных данных представлен тип bytes;
  • Тип long переименован в int, деление int переменных возвращает float, для получения целого результата нужно использовать //;
  • Для обозначения неравенств, вместо "" нужно будет использовать "!=";
  • Признаны устаревшими модули: cPickle, imageop, audiodev, Bastion, bsddb185, exceptions, linuxaudiodev, md5, MimeWriter, mimify, popen2, rexec, sets, sha, stringold, strop, sunaudiodev, timing, xmllib, new;
  • Удалены функции os.tmpnam(), os.tempnam() и os.tmpfile(), вместо них нужно использовать модуль tempfile;
  • Все исключения теперь должны порождаться от класса BaseException;
  • Новый синтаксис для создания мета-классов (Metaclass), реализация абстрактных базовых классов (Abstract Base Class), возможность использования декораторов для классов;
  • Новая реализация библиотеки ввода/вывода, имеющая обратно совместимый API ;

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Началось бета-тестирование Python 2.6 и Python 3.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.