A PHP Error was encountered

Severity: 8192

Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Filename: mysql/mysql_driver.php

Line Number: 319

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

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


Рубрика: Новости Linux
Метки:
Просмотров: 2643

Доступен 5 релиз языка программирования 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.