The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпущена финальная версия языка Python 3.0

04.12.2008 08:42

Официально объявлено о выпуске окончательной версии языка Python 3.0, готовой к промышленному использованию. Python 3.0 (так же известный как "Python 3000" или "Py3k") - это новая версия языка программирования, которая не совместима с линейкой 2.х. Язык в основном не изменился, но множество деталей, особенно касающиеся того как работают встроенные объекты, например словари и строки, - изменились значительно. Окончательно удалено много устаревших элементов языка. Стандартная библиотека Python была реорганизована в нескольких заметных местах.

Из новых возможностей 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 ;


  1. Главная ссылка к новости (http://python.org/download/rel...)
  2. OpenNews: Готовится Python 2.7 ?
  3. OpenNews: Доступен релиз Python 2.6
  4. OpenNews: Python 3.0: Готовьтесь к проблемам
  5. Обзор новых возможностей в Python 2.6 и 3.0
  6. OpenNews: Началось бета-тестирование Python 2.6 и Python 3.0
Автор новости: GR
Тип: Программы
Короткая ссылка: https://opennet.ru/19218-python
Ключевые слова: python
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (13) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, ПростойПользователь (?), 09:33, 04/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Из новых ВОЗМОЖНОСТЕЙ Python 3.0 можно отметить:
    >Нарушение обратной совместимости со скриптами, разработанными для более ранних версий Python;

    :)

     
     
  • 2.6, Ivanych (??), 13:36, 04/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, типа - возьмем все худшее из PHP:)
     
     
  • 3.14, dypa (?), 19:35, 04/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    лучше пусть нафиг всю совместимость в php разломают, зато будет нормальный синтаксис, ебнутость синтаксиса неймспейсов сложно даже оценить, а вы тут жалуетесь)
     

  • 1.2, deepwalker (??), 09:34, 04/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Аннотации это вещь. При таком виде - когда можно пихаться что душе угодно в качестве аннотации, декларативщикам просто рай открывается.

    >>> def ku(x: int): pass
    >>> ku.__annotations__

    {'x': <class 'int'>}
    >>> def y(x:{'3':4}):pass
    >>> y.__annotations__

    {'x': {'3': 4}}

     
  • 1.3, FrBrGeorge (ok), 11:35, 04/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Вместо оператора форматирования строк "%" использована глобальная функция и метод format()

    Требует проверки слово "вместо". Есть сведения, что "%" никто не отменял.

     
     
  • 2.5, hizel (?), 13:12, 04/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    PEP 3101 , '%' будет помечен deprecated в Python 3.1 и убран когда нибудь позже
     

  • 1.4, Одмин (?), 13:00, 04/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ура! Тока, увы, пока неюзабельно из-за кучи косяков в доках и кучи недокументированных фич в C api. Но я багрепортов налабал, надеюсь, сильно тянуть не будут с их решением(или напишут что я не прав, это тоже не исключено).
     
  • 1.7, Guest (??), 13:46, 04/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Изменения выглядят вкусно. Посмотрим, как будет с переходом проектов на python3, и как будет с сосуществованием 2 и 3 версий в различных дистрибутивах и осях.
     
  • 1.8, geskoz (?), 14:52, 04/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да какая разница. Моя работа связана с мелкой оптимизацией и автоматизацией документооборота. Так что я появление новой версии целиком и полностью поддерживаю. ИМХО она более ориентирована на прикладное использование именно в качестве "рычага" при обработке документов. Ощущение сугубо субъективное, на "истину в последней инстанции" не претендую.
     
  • 1.9, Антон (??), 15:50, 04/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > будут возвращать контейнер объектов (итератор);

    с каких пор слова "контейнер" и "итератор" стали взаимозаменяемы?

     
  • 1.13, Аноним (13), 19:00, 04/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Видимо, пора браться за изучение питона...
     
  • 1.15, dr (??), 20:27, 04/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Рефакторинг это круто. Очень рад новой версии, потихоньку будем перебираться...
    Жаль, что убирают оператор "%". Очень уж он мне по душе пришелся:)
    Дотнетоподобный format() - это не тру.
     
     
  • 2.16, smb (?), 22:04, 04/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Уберут не раньше 3.1...Да и замена неплохая, судя по PEP-у.
    Не говоря уже о том, что для более навороченных вещей есть string.Template =)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру