Python 2 и Python 3: ключевые различия и совместимость

Разница между Python 2 и Python 3 существенна и охватывает различные аспекты. Вот некоторые ключевые различия:

  1. Оператор печати. ​​В Python 2 оператор печати используется без круглых скобок, например: print «Hello, World!». В Python 3 он используется как функция с круглыми скобками, например: print("Hello, World!").

  2. Деление: В Python 2 деление двух целых чисел с помощью оператора /выполняет целочисленное деление, усекая десятичную часть. Например, 5 / 2возвращает 2. В Python 3 оператор /выполняет истинное деление, возвращая число с плавающей запятой. Например, 5 / 2возвращает 2,5. Целочисленное деление можно выполнить в Python 3 с помощью оператора //.

  3. Юникод: Python 2 по умолчанию использует строки ASCII, а строки Юникода обозначаются префиксом u. В Python 3 по умолчанию используется Unicode, а строки ASCII обозначаются префиксом b.

  4. Синтаксис. В Python 3 в синтаксис внесены некоторые изменения. Например, функция xrange()в Python 2 была заменена функцией range()в Python 3.

  5. Обработка ошибок. Синтаксис Exceptionдля обработки исключений в Python 2 и Python 3 различается. В Python 2 можно перехватывать несколько исключений с помощью кортежа, например: Exception (ValueError, TypeError):. В Python 3 вы указываете несколько исключений с помощью отдельных операторов кроме.

  6. Библиотеки и совместимость: некоторые библиотеки и модули изначально не были обновлены для работы с Python 3. Хотя многие популярные библиотеки уже перенесены на Python 3, все еще может существовать устаревший код, который работает только с Python 2.

  7. Общее улучшение: Python 3 включает в себя различные улучшения, такие как расширенная поддержка Unicode, лучшая оптимизация производительности, упрощенный синтаксис и дополнительные функции, такие как подсказки по типам.