tgoop.com/pro_python_code/1086
Last Update:
🐍 Python 3.13.0a0 Что нового?
Захватывающие возможности
В настоящее время Python 3.13.0a0 находится в стадии разработки и содержит ряд новых возможностей и улучшений. В этой статье мы рассмотрим некоторые из новых возможностей Python 3.13.0a0 и приведем несколько примеров кода для начала работы.
Самой последней версией является 3.11.4, а 3.12 находится в стадии раннего предварительного просмотра. Вы можете лучше понять Python 3.13.0a0, прочитав эти статьи о Python 3.11.4 и Python 3.12.
Новые возможности
Новых модулей пока нет, но есть несколько улучшенных модулей: array, io, pathlib, traceback, typing.
• массив: Код типа ‘w’ можно использовать для строк Unicode.
• io: метод close() финализатора theio.IOBase теперь регистрирует ошибки с помощью sys.unraisablehook.
• pathlib: Добавлены изменения в pathlib.PurePath.match(), pathlib.Path.glob() и rglob().
• tracebackВ traceback.TracebackException.format_exception_only() добавлен параметр show_group.
• typing: typing.get_protocol_members() был добавлен набор членов, определяющих typing.Protocol. typing.is_protocol() был добавлен для проверки того, является ли класс typing.Protocol.
Оптимизация производительности
Из программы PEP 594:
Утраченные функции:
1. Утрата методов wave.Wave_read и wave.Wave_write
2. Устранение аргументов ключевых слов при создании классов typing.NamedTuple
3. Устранение использования функционального синтаксиса при создании классов typing.NamedTuple и typing.TypedDict
4. Утрата кода формата массива ‘u’.
5. Утрата функций ctypes.SetPointerType() и ctypes.ARRAY()
Удаленные функции
1. Удаление модуля telnetlib.
2. Удаление программы 2to3 и модуля lib2to3.
3. Удаление пространств имен typing.io и typing.re.
4. Удаление класса webbrowser MacOSX
5. Удаление поддержки использования объекта pathlib.Path в качестве менеджера контекста
6. Удаление класса configparser.LegacyINterpolation.
7. Удаление метода turtle.RowTurtle.settiltangle().
8. Удаление некоторых функций unittest
9. Удаление модулей cgi и cgitb
10. Удалены различные модули и пакеты, такие как sndhdr, pipes, ossaudiodev, mailcap, spwd, nntplib, nis, xdrlib, msilib, crypt, uu, aifc, audioop, chunk, imghdr, unittest.TestProgram.usageExit(), tkinter. tix, макросы trashcan, locale.resetlocale(), logging.Logger.warn(), параметры urllib.request.urlopen(), атрибут webbrowser.MacOSXOSAScript._name, функция re.template и флаг re.TEMPLATE
Изменения в API на языке C
Утратил актуальность:
Утратили свою актуальность старые функции инициализации Python, такие как
PySys_ResetWarnOptions()
PY_NAME_GetExecPrefix()
Py_GetPath()
Py_GetPrefix()
Py_GetProgramFullPath()
Py_GetProgramName()
Py_GetPythonHome()
Утратила актуальность функция Py_ImportModuleNoBlock(), удаление которой запланировано в Python 3.15. Удалены:
Удалено:
Удалены функции, устаревшие в Python 3.9, такие как PyEval_CallObject(), PyEval_CallObjectWithKeywords(), PyEval_CallFunction(), PyEval_CallMethod() иPyEval_CFunction_Call().
Следующие старые функции для настройки инициализации Python, устаревшие в Python 3.11, были удалены:
• PySys_AddWarnOptionUnicode(): Вместо этого используйте PyConfig.warnoptions.
• PySys_AddWarnOption(): Вместо этого используйте PyConfig.warnoptions.
• PySys_AddXOption(): Использовать PyConfig.xoptions.
• PySys_HasWarnOptions(): Вместо этого используйте PyConfig.xoptions.
• PySys_SetArgvEx(): Вместо этого установите PyConfig.argv.
• PySys_SetArgv(): Установить вместо PyConfig.argv.
• PySys_SetPath(): Установить вместо PyConfig.module_search_paths.
• Py_SetPath(): Вместо этого установить PyConfig.module_search_paths.
• Py_SetProgramName(): Вместо этого установить PyConfig.program_name.
• Py_SetPythonHome(): Вместо этого установить PyConfig.home.
• Py_SetStandardStreamEncoding(): Установить вместо PyConfig.stdio_encoding.
• _Py_SetProgramFullPath(): Установить вместо PyConfig.executable.
@pro_python_code
BY Python RU
Share with your friend now:
tgoop.com/pro_python_code/1086