Релиз Python 3.0 доступен для скачивания с оф. сайта.
Не совместим с веткой 2.x
Python 3.0 (a.k.a. "Python 3000" or "Py3k") is a newИз новых возможностей Python 3.0 можно отметить:
version of the language that is incompatible with the 2.x line of
releases. The language is mostly the same, but many details,
especially how built-in objects like dictionaries and strings work,
have changed considerably, and a lot of deprecated features have
finally been removed. Also, the standard library has been reorganized
in a few prominent places.
- Нарушение обратной совместимости со скриптами, разработанными для более ранних версий 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 ;
 
Комментариев нет:
Отправить комментарий