Программное обеспечение постоянно развивается, и с выпуском Python 3.12 в 2020 году мы увидели, как некоторые функции были помечены как устаревшие и рекомендованы к удалению в будущих версиях. Это не редкость для языков программирования, и Python не является исключением.
В этой статье мы рассмотрим 10 функций Python, которые, как ожидается, будут упразднены в 2025 году, согласно официальному документу PEP 593.
input()
Функция input()
использовалась для получения ввода от пользователя, но в Python 3.x она была заменена на input()
. Функция input()
устарела и, как ожидается, будет удалена в Python 3.12.
xrange()
Функция xrange()
использовалась для создания генератора диапазона чисел, но в Python 3.x она была заменена на range()
. Функция xrange()
устарела и, как ожидается, будет удалена в Python 3.11.
cmp()
Функция cmp()
использовалась для сравнения двух объектов, но в Python 3.x она была заменена на операторы сравнения (``, ==
, и т. д.). Функция cmp()
устарела и, как ожидается, будет удалена в Python 3.10.
reduce()
Функция reduce()
использовалась для применения функции к итерации и возврата результата, но в Python 3.x она была заменена на functools.reduce()
. Функция reduce()
устарела и, как ожидается, будет удалена в Python 3.10.
bytes-like objects
Объекты, похожие на байты, в Python 3.x были заменены на объекты bytes
и bytearray
. Объекты, похожие на байты, устарели и, как ожидается, будут удалены в Python 3.10.
bool() of integer
Преобразование целого числа в логическое значение было удалено в Python 3.x. Логическое значение целого числа всегда должно быть явным, используя bool()
или int()
. Преобразование целого числа в логическое значение устарело и, как ожидается, будет удалено в Python 3.10.
oct()
и hex()
Функции oct()
и hex()
использовались для преобразования целых чисел в восьмеричную и шестнадцатеричную строки соответственно, но в Python 3.x они были заменены на '{:o}'
и '{:x}'
. Функции oct()
и hex()
устарели и, как ожидается, будут удалена в Python 3.8.
print
с file=None
Функцию print
можно использовать с аргументом file=None
для печати в стандартный поток вывода, но в Python 3.x это не рекомендуется. Аргумент file=None
устарел и, как ожидается, будет удален в Python 3.8.
asynchat.async_chat
Модуль asynchat.async_chat
использовался для реализации асинхронных клиентов и серверов, но в Python 3.x он был заменен на asyncio
. Модуль asynchat.async_chat
устарел и, как ожидается, будет удален в Python 3.8.
anydbm
Модуль anydbm
использовался для доступа к базам данных dbm, но в Python 3.x он был заменен на dbm.ndbm
. Модуль anydbm
устарел и, как ожидается, будет удален в Python 3.8.
Важно быть в курсе изменений в языке, на котором вы пишете код. Удаление устаревших функций может привести к неработоспособности вашего кода при обновлении до более новых версий Python.
Рекомендуется придерживаться текущих руководящих принципов и использовать новые функции, заменяющие устаревшие. Это гарантирует, что ваш код будет актуальным и будет работать в будущих версиях Python.