Какие особенности и ограничения были в Python 2 по сравнению с более поздними версиями
Python 2 устарел, но его ключевые отличия от Python 3:
-
Принт без скобок:
pythonprint "Hello" # Python 2 print("Hello") # Python 3 -
Целочисленное деление:
В Python 2/для целых чисел возвращало целое (если оба операнда целые), в Python 3 всегда float. -
Unicode vs str:
В Python 2str— байты,unicode— Unicode-строка. В Python 3str— Unicode,bytes— байты.
-
xrange() vs range():
В Python 2xrange()— ленивый аналогrange(). В Python 3range()сам ленивый. -
Итераторы вместо списков:
Методы вродеmap(),filter(),dict.items()в Python 2 возвращали списки, в Python 3 — итераторы. -
Исключения:
pythonexcept Exception, e: # Python 2 except Exception as e: # Python 3 -
Сравнение типов:
В Python 2 можно было сравнивать разные типы (1 < '2'), в Python 3 это вызываетTypeError. -
Старый стиль классов:
В Python 2 были "старые" классы (без наследования отobject), в Python 3 все классы "новые". -
input() и raw_input():
В Python 2input()выполнял строку как код,raw_input()читал строку. В Python 3input()— аналогraw_input(). -
Отсутствие аннотаций и async/await:
Python 2 не поддерживал аннотации типов, асинхронные конструкции (async/await).
Python 2 официально не поддерживается с 2020 года.

офферы быстрее!
Следующий вопрос
Это единственный вопрос по вашему фильтру