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

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

  • datetime:

    • strptime() вызовы со строкой формата, содержащей %e (день месяца) без указания года. Это объявлено устаревшим начиная с Python 3.15. (Автор: Stan Ulbrych в gh-70647.)

  • collections.abc:

    • collections.abc.ByteString запланирован к удалению в Python 3.17.

      Используйте isinstance(obj, collections.abc.Buffer) для проверки, реализует ли obj протокол буфера во время выполнения. Для использования в аннотациях типов используйте Buffer или объединение, которое явно указывает типы, поддерживаемые вашим кодом (например, bytes | bytearray | memoryview).

      ByteString изначально задумывался как абстрактный класс, который должен был служить супертипом как для bytes, так и для bytearray. Однако, поскольку у ABC никогда не было методов, знание того, что объект является экземпляром ByteString, никогда не давало полезной информации об объекте. Другие распространённые типы буферов, такие как memoryview, также никогда не рассматривались как подтипы ByteString (ни во время выполнения, ни статическими проверками типов).

      См. PEP 688 для получения подробностей. (Автор: Shantanu Jain в gh-91896.)

  • encodings:

    • Передача кодировок, не являющихся ASCII, в encodings.normalize_encoding() объявлена устаревшей и запланирована к удалению в Python 3.17. (Автор: Stan Ulbrych в gh-136702.)

  • webbrowser:

    • webbrowser.MacOSXOSAScript объявлен устаревшим в пользу webbrowser.MacOS. (gh-137586)

  • typing:

    • До Python 3.14 старые объединения реализовывались с помощью приватного класса typing._UnionGenericAlias. Этот класс больше не нужен для реализации, но он сохранён для обратной совместимости, его удаление запланировано на Python 3.17. Пользователям следует использовать документированные вспомогательные средства интроспекции, такие как typing.get_origin() и typing.get_args(), вместо того чтобы полагаться на детали приватной реализации.

    • typing.ByteString, устаревший с Python 3.9, запланирован к удалению в Python 3.17.

      Используйте isinstance(obj, collections.abc.Buffer) для проверки, реализует ли obj протокол буфера во время выполнения. Для использования в аннотациях типов используйте Buffer или объединение, которое явно указывает типы, поддерживаемые вашим кодом (например, bytes | bytearray | memoryview).

      ByteString изначально задумывался как абстрактный класс, который должен был служить супертипом как для bytes, так и для bytearray. Однако, поскольку у ABC никогда не было методов, знание того, что объект является экземпляром ByteString, никогда не давало полезной информации об объекте. Другие распространённые типы буферов, такие как memoryview, также никогда не рассматривались как подтипы ByteString (ни во время выполнения, ни статическими проверками типов).

      См. PEP 688 для получения подробностей. (Автор: Shantanu Jain в gh-91896.)

  • tkinter:

    • Методы tkinter.Variable: trace_variable(), trace() (псевдоним trace_variable()), trace_vdelete() и trace_vinfo(), устаревшие с Python 3.14, запланированы к удалению в Python 3.17. Используйте trace_add(), trace_remove() и trace_info() вместо них. (Автор: Serhiy Storchaka в gh-120220.)