Python 2 и 3 — отличия. Функция print
Статья рассказывает, в чём разница между Python 2 и 3. Приводятся сравнительные примеры кода, показываются особенности работы функции print. Даются советы, какую версию выбрать и почему.
О том, что официальная поддержка «Пайтон» 2 скоро прекратится, было объявлено уже давно. Но это не помешало выпустить Python 2.7.18 в апреле 2020 года. Тогда же разработчики утверждали, что это точно последний релиз, поэтому всем рекомендуется переходить на 3-ю версию. Сложно предсказать будущее, но очевидно одно: в противостоянии «Пайтон» 3 vs 2 — более перспективным направлением для развития является именно номер три.
Есть ещё несколько причин остановить свой выбор на «Питоне» 3.x.x: • официальная поддержка сообществом; • более простое изучение (это мнение субъективно, но некоторые его высказывают); • мощнейший инструментарий, множество библиотек; • применимость в машинном обучении и AI, плюс язык используется при обработке больших данных (Big Data).
Главной причиной должно стать то, что «Питон» 2 сегодня является устаревшей версией. Несмотря на это, списывать в утиль его ещё рано: • если вы DevOps-инженер, надо разбираться в конфигурации инструментов управления типа Ansible или Puppet. То есть пригодится умение работать с двумя версиями «Пайтона»; • если большинство проектов в компании реализовано с помощью «Пайтон» 2, знать эту версию тоже необходимо; • если при реализации проекта, требуемые сторонние библиотеки или софт не поддерживаются Python 3, опять же, единственным вариантом остаётся «Пайтон» 2.
Python 2 vs 3
В таблице ниже кратко представлены некоторые отличия и разница версий (2 vs 3):
В результате можно сказать, что языки отличаются следующим:
• синтаксис в 3-м «Питоне» проще и понятнее для понимания;
• по дефолту, чтобы хранить строки, применяется Unicode, а в Python 2 строковое значение нужно определять посредством "u";
• в третьей ветви языка значения переменных не меняются никогда, а во второй они меняются в случае применения внутреннего цикла for;
• в Python 3 исключения помещают в круглые скобки, а в Python 2 они должны быть заключены в notations;
• упрощены правила очереди для сравнений;
• в Python 3 для итераций есть функция
Модуль future
При разработке 3-й версии «Питона» в язык были включены некоторые ключевые слова и функции, несовместимые с Python 2. Но это не значит, что ими нельзя воспользоваться. Если требуется поддержка Python-кода 3-й версии, можно выполнить импорт, для чего существует встроенный модуль future.
Вот как выглядит импорт функциональности, поддерживающей деление целых чисел:
Прочие детали по модулю future можно посмотреть на странице ниже:
Сравниваем код. Функция print
Лучше всего рассматривать разницу наглядно. Для этого подойдёт простейший код. Начнём с Python 2:
def main(): print "Hello, OTUS!" if __name__== "__main__": main()
А теперь «Пайтон» 3:
def main(): print("Hello, OTUS!") if __name__== "__main__": main()
Самое заметное отличие — это изменение синтаксиса print. Используемый ранее оператор print заменили функцией
Источник — https://python-scripts.com/python-2-vs-3.