Документация Python неофициальный перевод

Запланировано к удалению в Python 3.16Pending removal in Python 3.16

  • Система импорта:

    • Установка __loader__ в модуле при отсутствии __spec__.loader устарела. В Python 3.16 __loader__ перестанет устанавливаться или учитываться системой импорта или стандартной библиотекой.

    • Установка __package__ в модуле при отсутствии __spec__.parent устарела. В Python 3.16 __package__ перестанет устанавливаться или учитываться системой импорта или стандартной библиотекой. (gh-97879)

  • Встроенная копия libmpdec.

  • array:

    • Код формата 'u' (wchar_t) устарел в документации начиная с Python 3.3 и во время выполнения начиная с Python 3.13. Используйте код формата 'w' (Py_UCS4) для символов Unicode.

  • asyncio:

    • asyncio.iscoroutinefunction() устарело и будет удалено в Python 3.16; используйте inspect.iscoroutinefunction() вместо этого. (Предложено Jiahao Li и Kumar Aditya в gh-122875.)

    • Система политик asyncio устарела и будет удалена в Python 3.16. В частности, следующие классы и функции устарели:

      • asyncio.AbstractEventLoopPolicy

      • asyncio.DefaultEventLoopPolicy

      • asyncio.WindowsSelectorEventLoopPolicy

      • asyncio.WindowsProactorEventLoopPolicy

      • asyncio.get_event_loop_policy()

      • asyncio.set_event_loop_policy()

      Для использования нужной реализации цикла событий следует применять asyncio.run() или asyncio.Runner с параметром loop_factory.

      Например, чтобы использовать asyncio.SelectorEventLoop в Windows:

      import asyncio
      
      async def main():
          ...
      
      asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)
      

      (Предложено Kumar Aditya в gh-127949.)

  • builtins:

    • Поразрядная инверсия для булевых типов, ~True или ~False устарела начиная с Python 3.12, поскольку даёт неожиданные и неинтуитивные результаты (-2 и -1). Используйте not x для логического отрицания булевого значения. В редких случаях, когда требуется поразрядная инверсия базового целого числа, явно преобразуйте в int (~int(x)).

  • functools:

    • Вызов реализации functools.reduce() на Python с function или sequence в качестве именованных аргументов устарел начиная с Python 3.14.

  • logging:

    • Поддержка пользовательских обработчиков логирования с аргументом strm устарела и запланирована к удалению в Python 3.16. Вместо этого определяйте обработчики с аргументом stream. (Предложено Mariusz Felisiak в gh-115032.)

  • mimetypes:

    • Допустимые расширения начинаются с точки ‘.’ или пусты для mimetypes.MimeTypes.add_type(). Расширения без точки устарели и будут вызывать ValueError в Python 3.16. (Предложено Hugo van Kemenade в gh-75223.)

  • shutil:

    • Исключение ExecError устарело начиная с Python 3.14. Оно не используется ни одной функцией в shutil начиная с Python 3.4 и теперь является псевдонимом RuntimeError.

  • symtable:

    • Метод symtable.Class.get_methods() устарел начиная с Python 3.14.

  • sys:

    • Функция _enablelegacywindowsfsencoding() устарела начиная с Python 3.13. Используйте переменную окружения PYTHONLEGACYWINDOWSFSENCODING.

  • sysconfig:

    • Функция sysconfig.expand_makefile_vars() устарела начиная с Python 3.14. Используйте аргумент vars из sysconfig.get_paths().

  • tarfile:

    • Недокументированный и неиспользуемый атрибут TarInfo.tarfile устарел начиная с Python 3.13.