The OpenNET Project / Index page

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

Релиз языка программирования Python 3.2

21.02.2011 10:27

Доступен релиз языка программирования Python 3.2, основные усилия при подготовке которого были направлены на увеличение стабильности, расширение возможностей стандартной библиотеки и упрощение процесса портирования скриптов, написанных для ветки Python 2.x. Так как двухгодичный мораторий на изменение синтаксиса языка истекает 26 июня 2011 года, то версии 3.2 полностью обратно совместима с веткой Python 3.1 и не содержит изменений синтаксиса, семантики и встроенных функций (тем не менее отмечается несколько изменений во встроенных типах). Напомним, что после выхода выпуска 2.7 добавление новшеств в ветку Python 2.x прекращено, но ошибки будут исправляться вплоть до 2015 года.

Из улучшений, добавленных в Python 3.2, можно отметить:

  • Расширение возможностей модуля unittest: реализована возможность обращения к модулям с тестами по файловому пути (python -m unittest discover -s my_proj_dir -p _test.py), а не только по имени; добавлены новые методы (assertCountEqual, assertWarns и assertWarnsRegex); реализована интерактивная командная строка для проведения ручных тестов; переработаны тексты сообщений, которые теперь более явно отражают причины сбоя; для более точного отражения выполняемых функций переименованы некоторые имена методов (например, вместо assert_ представлен assertTrue, вместо assertEquals - assertEqual);
  • Реализована поддержка привязанных к версии интерпретатора отдельных репозиториев для .pyc-файлов, используемых для кэширования байткода (PEP 3147). Вынос pyc-файлов в отдельные директории позволяет решить проблему с использованием нескольких Python-интерпретаторов (2.x и 3.x) для выполнения одних скриптов, что ранее приводило к постоянному обновлению кэшей;
  • Поддержка привязанных к номеру версии Python ABI динамических библиотек (PEP 3149), что позволяет использовать свой набор библиотек для различных версий и реализаций Python (CPython, PyPy, Jython);
  • Представлено новое пространство имен "concurrent" для организации параллельного программирования. Первым для данного пространства представлен модуль concurrent.futures (PEP 3148) с набором высокоуровневых функций для управления нитями и процессами. В будущем число модулей concurrent.* будет расширено;
  • Для модулей-расширений представлен ограниченный ABI (Py_LIMITED_API), который объявлен стабильным (PEP 384), что позволит решить проблему работоспособности сборок модулей-расширений для разных версий Python (при обновлении версии ранее приходилось пересобирать все модули-расширения. При использовании Py_LIMITED_API модули собранные для 3.2, смогут работать в ветках 3.3 и 3.4);
  • Базирующийся на словарях метод logging.config.dictConfig для определения конфигурации модуля для обработки логов (PEP 391);
  • Переработанная реализация GIL-блокировки (Global Interpreter Lock), оптимизированная для обеспечения параллельного выполнения нескольких Python-потоков на системах с многоядерными CPU;
  • В пакете email и модулях mailbox/nntplib добавлена поддержка модели bytes/text Python 3, что позволяет корректно обрабатывать сообщения в смешанных однобайтных и многобайтных кодировках;
  • Значительно улучшен модуль для обеспечения работы защищенных SSL-соединений, в который добавлен менеджер SSL-контекста;
  • Для доступа к системной информации, такой как файловые пути и специфичные для платформы опции, добавлен модуль sysconfig;
  • В модуле shutil добавлена поддержка работы с архивами в формате ZIP, TAR, GZIP и BZIP;
  • Значительно изменен модуль configparser, который переведен на использование нового протокола определения структуры конфигурации, основанного на маппинге значений;
  • Множественные исправления, возникающие из-за разделения типов bytes/string и особенностей обработки числовых операций в Python 3.


  1. Главная ссылка к новости (http://www.python.org/download...)
  2. OpenNews: Python опередил PHP в рейтинге TIOBE
  3. OpenNews: Релиз PyPy 1.4, реализации Python, написанной на языке Python
  4. OpenNews: Компания ActiveState ввела в строй каталог для поиска Python-модулей
  5. OpenNews: Релиз Python 2.7
  6. OpenNews: Вышел релиз Python 3.1
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/29665-python
Ключевые слова: python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (31) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 11:51, 21/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +16 +/
    А нельзя ли мораторий еще на пару лет продлить? Как быстро время то летит, вроде вчера только этот мораторий обсуждали, глядь, уже заканчивается.
     
     
  • 2.41, Онаним (?), 22:57, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да вообще надо уже перестать вносить такие изменения в синтаксис, что ломают совместимость. Развмваит - ради Б-га, но только в сторону расширения и дополнения. Не вчера же язык этот придумали, сколько можно переделывать...

     

  • 1.4, анонизмус (?), 12:01, 21/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Хуже тем, что задолбали синтаксис переделывать.
     
     
  • 2.11, Axel (??), 12:29, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Хуже тем, что задолбали синтаксис переделывать.

    Да ладно, один раз по сути переделали - в версии 3. Гвидо реализовал свои мечты о приближении синтаксиса к лиспу (даёшь больше скобок!) и успокоился. Всё остальное косметические поправки.

     
     
  • 3.14, mag (??), 12:39, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    если они так хотят к синтаксису приблизиться, смысл тогда развивать этот недолисп?
     
     
  • 4.16, Michael Shigorin (ok), 12:56, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Надо же, вчера найденное для обшарпанных теперь, может, людям пригодится...
    http://blog.ianbicking.org/the-challenge-of-metaprogramming.html
    http://www.paulgraham.com/icad.html
     
  • 4.17, Axel (??), 12:56, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Это только моё предположение, фиг знает чего на самом деле имел ввиду Гвидо ван Россум. От человека, которому нравится юмор "Monty python" можно ожидать чего угодно :)
     

  • 1.6, gabin (ok), 12:05, 21/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Ура! 4-й по популярности язык программирования вышел в новой версии !
     
  • 1.7, Аноним (-), 12:13, 21/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Нормальных лямбд все еще нет?
     
     
  • 2.12, Axel (??), 12:30, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Нормальных лямбд все еще нет? - Значит не нужен!

    Продемонстрируй плиз нормальные лямбды? Просто любопытно.

     
     
  • 3.19, Аноним (-), 13:31, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • –9 +/
    Server.updateState(function (v){
    for(var i = 0; i<v.messages.length; i++)
    {
           document.getElementById("log").innerHTML += "<p>"+v.messages[i]+"</p>"
    }

    if(v.messages.length > 0)
    {
        var objDiv = document.getElementById("log")
        objDiv.scrollTop = objDiv.scrollHeight
    }

    if(v.descr && v.descr!="")
    {
        document.getElementById("descr").innerHTML = v.descr
    }

    //...

    })

     
     
  • 4.27, 1 (??), 16:46, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    закопай обратно этот ахтунг
     
     
  • 5.30, Аноним (-), 17:27, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Много раз плюсую.
     
  • 5.32, Аноним (-), 17:43, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Где ахтунг? Обычный коллбек. Хотя конечно питон-вей это засирать код именнованными функциями. В этом он даже у джавы отсасывает, там хоть анонимные классы есть.
     
     
  • 6.37, Аноним (-), 18:53, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше уж именованные функции, чем такой код.
     
     
  • 7.38, Аноним (-), 19:34, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если вам не нравится содержание функции то именнованные функции вас от этого не спасут.
     
  • 6.54, 1 (??), 11:53, 23/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    учи матчасть и сопроцедуры
     
  • 6.59, netch (ok), 11:12, 28/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Хотя конечно питон-вей это засирать код именнованными функциями.

    Видно голос человека, который никогда не писал код выше уровня "Hello world  в песочнице" и не сталкивался с проблемой отладки того, что откуда-то вылезла функция с неизвестным именем. Мне сейчас приходится постоянно с таким сталкиваться в Erlang.
    Цена именования функции в Питоне - копейки, а пользы - на сто рублей.

     
     
  • 7.60, Michael Shigorin (ok), 00:16, 01/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > откуда-то вылезла функция с неизвестным именем. Мне сейчас приходится постоянно

    У тебя, между прочим, специалист по таковым в соседней комнате водится.

    Вот скажи, зачем бы мне в этом куске, который вообще в поезде на коленке писался -- именованная функция?

    http://git.altlinux.org/people/mike/packages/?p=alterator-ltsconf.git;a=blob;

     
     
  • 8.61, netch (ok), 00:23, 01/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Как только он начнёт вылетать по неизвестным причинам со стеком на 5 уровней глу... текст свёрнут, показать
     
  • 4.45, ig0r (??), 10:01, 22/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    перепиши с использованием именованных функций и убедись насколько читаемым станет код, именно поэтому в питоне лямбды такого не умеют делать.
     
     
  • 5.48, Аноним (-), 11:45, 22/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Эм? каждый цикл и if в отдельную функцию имеете ввиду? Ок. Но как их мне потом склеить? Придется заводить еще одну именованную функцию, но нафига? когда и так понятно что это коллбек?
     
     
  • 6.50, qpq (ok), 16:24, 22/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    зачем каждый? весь блок
    п.с. но код все равно ужасен
     
     
  • 7.51, Остров (?), 16:37, 22/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Отступов не хватает?
     

  • 1.13, Аноним (-), 12:38, 21/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    PyGTK еще не прикрутили к 3.x?
     
     
  • 2.53, Аноним (-), 03:55, 23/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    PyGTK пока нет, голосуй за необходимый модуль - http://www.python.org/3kpoll

    psycopg2 (postgresql) уже почти портировали под python 3, сижу на бете модуля - всё работает!

     

  • 1.26, Аноним (-), 16:41, 21/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    а мы все еще пользуемся питоном 1.5 ^_^
     
  • 1.44, python3.2 (?), 03:12, 22/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    а мне больше нравиться удобство работы с обновленной функцией print() в новой версии  python3

    а в остальном в большинстве случаев помогает скрипт 2to3, ну и ждем PyPy с JIT и Django под третью версию, однако это будет уже в следующем году

     
  • 1.55, Аноним (-), 13:52, 23/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    кто-нить уже тестил многопоточность на этом релизе? и вообще, скорость исполнения заметно выше чем на последней ветке python 2.7?
     
  • 1.57, Vitold S (?), 01:14, 25/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Штука действительно сильная. Нужно развивать и писать больше приложений, а то как-то один только Django более менее законченный, а для того же PHP уже их и не пересчитать.

    Очень беспокоит относительная тишина вокруг Python на форумах практически не используют, тот же C# просто уже выперает изо всех дыр...

     
     
  • 2.58, ProstoME (?), 09:59, 27/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    не знаю на какие форумы вы ходите, но всё движется и развивается.

    cherrypy, psycopg2, sqllite, и т.д уже поддерживают python 3

    Единственное с чем с Вами соглашусь, так это с тем, что у нас, в России его меньше используют, да и хостинги какие-то не полноценные..

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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