Python 2 и 3 — отличия. Функция print | OTUS

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):

Screenshot_1-1801-06e0aa.png

В результате можно сказать, что языки отличаются следующим: • синтаксис в 3-м «Питоне» проще и понятнее для понимания; • по дефолту, чтобы хранить строки, применяется Unicode, а в Python 2 строковое значение нужно определять посредством "u"; • в третьей ветви языка значения переменных не меняются никогда, а во второй они меняются в случае применения внутреннего цикла for; • в Python 3 исключения помещают в круглые скобки, а в Python 2 они должны быть заключены в notations; • упрощены правила очереди для сравнений; • в Python 3 для итераций есть функция range(), а в Python 2 применяется xrange().

Модуль future

При разработке 3-й версии «Питона» в язык были включены некоторые ключевые слова и функции, несовместимые с Python 2. Но это не значит, что ими нельзя воспользоваться. Если требуется поддержка Python-кода 3-й версии, можно выполнить импорт, для чего существует встроенный модуль future.

Вот как выглядит импорт функциональности, поддерживающей деление целых чисел:

Screenshot_2-1801-de59c1.png

Прочие детали по модулю future можно посмотреть на странице ниже:

Screenshot_3-1801-fe1934.png

Сравниваем код. Функция print

Лучше всего рассматривать разницу наглядно. Для этого подойдёт простейший код. Начнём с Python 2:

def main():
  print "Hello, OTUS!"
if __name__== "__main__":
  main()

А теперь «Пайтон» 3:

def main():
  print("Hello, OTUS!")  
if __name__== "__main__":
  main()

Самое заметное отличие — это изменение синтаксиса print. Используемый ранее оператор print заменили функцией print(). В результате объект вывода надо теперь обязательно заключать в скобки. И если в старом «Питоне» проблемы с дополнительными скобками «in print» отсутствуют, то в новом, в случае вызова print прежним способом, возникнет SyntaxError. Чтобы всё это проверить, совсем необязательно устанавливать у себя сразу два «Пайтона». Можно воспользоваться онлайн-компилятором (можно найти компилятор и для двойки, и для тройки). Есть и другие различия, но они выходят за рамки данной статьи.

Источник — https://python-scripts.com/python-2-vs-3.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто
Запланируй обучение с выгодой!
Получи скидку 10% на все курсы ноября и декабря до 16.11 →