Разница между Python 2 и Python 3 существенна и охватывает различные аспекты. Вот некоторые ключевые различия:
-
Оператор печати. В Python 2 оператор печати используется без круглых скобок, например:
print «Hello, World!». В Python 3 он используется как функция с круглыми скобками, например:print("Hello, World!"). -
Деление: В Python 2 деление двух целых чисел с помощью оператора
/выполняет целочисленное деление, усекая десятичную часть. Например,5 / 2возвращает2. В Python 3 оператор/выполняет истинное деление, возвращая число с плавающей запятой. Например,5 / 2возвращает2,5. Целочисленное деление можно выполнить в Python 3 с помощью оператора//. -
Юникод: Python 2 по умолчанию использует строки ASCII, а строки Юникода обозначаются префиксом
u. В Python 3 по умолчанию используется Unicode, а строки ASCII обозначаются префиксомb. -
Синтаксис. В Python 3 в синтаксис внесены некоторые изменения. Например, функция
xrange()в Python 2 была заменена функциейrange()в Python 3. -
Обработка ошибок. Синтаксис
Exceptionдля обработки исключений в Python 2 и Python 3 различается. В Python 2 можно перехватывать несколько исключений с помощью кортежа, например:Exception (ValueError, TypeError):. В Python 3 вы указываете несколько исключений с помощью отдельных операторовкроме. -
Библиотеки и совместимость: некоторые библиотеки и модули изначально не были обновлены для работы с Python 3. Хотя многие популярные библиотеки уже перенесены на Python 3, все еще может существовать устаревший код, который работает только с Python 2.
-
Общее улучшение: Python 3 включает в себя различные улучшения, такие как расширенная поддержка Unicode, лучшая оптимизация производительности, упрощенный синтаксис и дополнительные функции, такие как подсказки по типам.