Чем отличается python 2 от python 3
Перейти к содержимому

Чем отличается python 2 от python 3

  • автор:

Python2 vs Python3: различия синтаксиса

Python 3 логотип

Оператор print был заменён функцией print(), с именованными аргументами для замены большей части синтаксиса старого оператора print. Примеры:

Также вы можете настроить разделитель между элементами, например:

  possibilities!

Функция print() не поддерживает особенность «программный пробел» старого оператора print. Например, в Python 2, print «A\n», «B» напечатает «A\nB\n»; но в Python 3, print(«A\n», «B») напечатает «A\n B\n».

Отображения и итераторы вместо списков

Некоторые хорошо известные методы не возвращают списки в Python 3:

  • Методы словарей dict.keys(), dict.items() и dict.values() возвращают «отображения» вместо списков. Например, больше не работает: k = d.keys(); k.sort(). Используйте k = sorted(d).
  • Соответственно, методы dict.iterkeys(), dict.iteritems() и dict.itervalues() более не поддерживаются.
  • map() и filter() возвращают итераторы. Если вам действительно нужен список, быстрым исправлением станет list(map(. )), но часто лучшим исправлением будет использование генераторов списков (особенно когда оригинальный код использует лямбда-выражения), либо переписать код так, чтобы ему не нужен был список как таковой. Особенно сложно, что map() вызывает побочные эффекты функции; правильное преобразование заключается в использовании цикла (создание списка просто расточительно).
  • range() теперь ведёт себя как xrange(), но работает со значениями любого размера. xrange() больше не существует.
  • zip() возвращает итератор.

Операторы сравнения

Python 3 упростил правила для операторов сравнения:

builtin.sorted() и list.sort() больше не принимают аргумент cmp, обеспечивающий функцию сравнения. Вместо этого используйте аргумент key. Аргументы key и reverse теперь «keyword-only».

Функция cmp() должна рассматриваться как устаревшая, и специальный метод __cmp__() в Python 3 не поддерживается. Используйте __lt__() для сортировки, __eq__() с __hash__() для сравнения. (Если вам действительно нужна функциональность cmp(), вы можете использовать выражение (a > b) — (a < b) в качестве эквивалента для cmp(a, b).)

Целые числа

  • PEP 0237: long переименован в int.
  • PEP 0238: Выражение вида 1/2 возвращает float. Используйте 1//2 для отсечения дробной части. (Этот синтаксис существует с Python 2.2)
  • Константа sys.maxint была удалена, с тех пор, как более не существует предела значения целых чисел. Однако, sys.maxsize может быть использован как число, большее любого практического индекса списка или строки. sys.maxsize соответствует «естественному» размеру целого и, как правило, имеет такое же значение, как sys.maxint на той же платформе (при условии одних и те же параметров сборки).
  • repr() от длинного целого числа не включает более завершающий символ L, так что код, который безусловно отрезает этот символ, будет отрезать вместо этого последнюю цифру. (Используйте str() вместо этого.)
  • Восьмеричные литералы более не имеют формы вида 0720; используйте 0o720.

Текст, Unicode и 8-битные строки

Все, что вы знали о бинарных данных и Unicode, изменилось.

Python 3 использует понятия текста и (бинарных) данных вместо строк Unicode и 8-битных строк. Весь текст — Unicode; Однако кодированные Unicode строки представлены ​​в виде двоичных данных. Тип , используемый для хранения текста является str, тип, используемый для хранения данных — bytes. Самое большое различие с python 2.x является то, что любая попытка комбинировать текст и данные в Python 3.0 поднимает TypeError, в то время как если бы вы смешивали Unicode и 8-битные строки в Python 2.x, это будет работать, если 8-битная строка содержала только 7-битные (ASCII) символы, но вы получите UnicodeDecodeError, если она содержит не-ASCII символы. Такое поведение вызывало многочисленные скорбные лица на протяжении многих лет.

Как следствие этого изменения в философии, значительная часть кода, который использует Unicode, кодировки или бинарные данные, скорее всего, должна измениться. Это изменения к лучшему, так как в python 2.x были многочисленные ошибки, имеющие отношение к смешиванию закодированного и декодированного текста. Чтобы быть подготовленным к этому, в Python 2.x следует начать использовать Unicode для всего незакодированного текста, и str только для бинарных или закодированных данных . Затем инструмент 2to3 будет делать большую часть работы за вас.

Вы можете больше не использовать литерал u». » для текста Unicode. Тем не менее, вы должны использовать литерал b». » для бинарных данных.

Так как str и bytes не могут быть смешаны, вы всегда должны их явно преобразовывать. Используйте str.encode(), чтобы перейти от str к bytes и bytes.decode(), чтобы перейти от bytes к str. Вы также можете использовать bytes(s, encoding=. ) и str(b, encoding=. ), соответственно.

Как str, тип bytes неизменен. Существует отдельный изменяемый тип для двоичных данных, bytearray. Почти все функции, которые принимают bytes также принимают bytearray.

Все обратные косые черты в «сырых» строковых литералах интерпретируются буквально. Это означает, что «\U» и «\u» в сырых строках не рассматриваются особо. Например, r»\u20ac» это строка из 6 символов в Python 3.0, в то время как в 2.6, ur»\u20ac» был один символ «евро». (Конечно, это изменение влияет только на сырые строковые литералы).

Встроенный абстрактный тип basestring был удален. Используйте str вместо него. str и bytes не имеют достаточно общей функциональности, чтобы оправдать общий базовый класс. Инструмент 2to3 (см. ниже) заменяет каждое вхождение basestring на str.

PEP 3138: repr() для строки больше не экранирует символы, не входящие в набор ASCII. Однако, он по-прежнему экранирует управляющие символы

PEP 3120: Кодировка исходного кода по умолчанию теперь UTF-8.

PEP 3131: не-ASCII символы разрешены в идентификаторах. (Тем не менее, стандартная библиотека остается ASCII, за исключением имен авторов в комментариях.)

Модули StringIO и cStringIO удалены. Вместо этого, импортируйте модуль io и используйте io.StringIO или io.BytesIO для текста и данных соответственно.

Обзор изменений синтаксиса

Этот раздел дает краткий обзор каждого синтаксического изменения Python 3.0.

Новый синтаксис

PEP 3107: аннотации для аргументов функции и возвращаемых значений.

 , 'return': 9>

PEP 3102: Keyword-only аргументы.

PEP 3104: nonlocal. Переменная во внешней (но не глобальной) области видимости.

PEP 3132: Extended Iterable Unpacking

   Генераторы словарей: (то же самое, что и dict(stuff))

Литералы множеств (например, ). Заметьте, что <> — это пустой словарь. Используйте set() для пустых множеств. Генераторы множеств:

Новые восьмеричные литералы, например 0o720, вместо старых (0720).

Новые двоичные литералы, например 0b1010. Новая встроенная функция, bin().

Изменённый синтаксис

PEP 3109 and PEP 3134: новый синтаксис выражения raise: raise [expr [from expr]].

«as» и «with» зарезервированные слова.

«True» и «False» и «None» — зарезервированные слова.

Изменено «except exc, var» на «except exc as var».

PEP 3115: Новый синтаксис для метаклассов. Вместо:

Вы должны использовать:
Переменная __metaclass__ более не поддерживается.

Генераторы списков больше не поддерживают синтаксическую форму [. for var in item1, item2, . ]. Используйте [. for var in (item1, item2, . )].

Удаленный синтаксис

PEP 3113: распаковка кортежей в параметрах удалена. Вы больше не можете писать

Пишите
Удалены обратные кавычки (backtick). Используйте repr().

exec — функция. Перестала быть зарезервированным словом.

from module import * запрещено использовать внутри функций.

Встроенные функции

PEP 3135: Новый super(). Теперь вы можете вызывать super() без аргументов и (при условии, что это метод экземпляра, определенный внутри определении класса) класс и экземпляр будут автоматически выбраны. С аргументами, поведение super() остается без изменений.

PEP 3111: raw_input() переименован в input(). Вместо input() в Python 2, вы можете использовать eval(input()).

Добавлена функция next(), вызывающая метод __next__() объекта.

Перемещен intern() в sys.intern().

Удалено: apply(). Вместо apply(f, args) используйте f(*args).

Удалено: callable(). Вместо callable(f) используйте hasattr(f, «__call__»). Функция operator.isCallable() также удалена.

Удалено: execfile(). Вместо execfile(fn) используйте exec(open(fn).read()).

Удалено: file. Используйте open().

Перемещено: reduce() в functools.reduce()

Перемещено: reload() в imp.reload().

Удалено: dict.has_key(). Используйте оператор in.

Для вставки кода на Python в комментарий заключайте его в теги

  • Модуль csv - чтение и запись CSV файлов
  • Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
  • Онлайн-обучение Python: сравнение популярных программ
  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов
  • Сделай свой вклад в развитие сайта!
  • Самоучитель Python
  • Карта сайта
  • Отзывы на книги по Python
  • Реклама на сайте

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

Python известен как универсальный язык программирования общего назначения. Это язык высокого уровня с открытым исходным кодом, который легко выучить благодаря использованию простого английского синтаксиса.

Благодаря многочисленным преимуществам (о которых мы поговорим позже) мультипарадигмальный язык программирования хорошо подходит для различных вариантов использования. С момента своего появления в 2000 году Python 2 прошел долгий путь от новинки до того, как стал любимцем программистов. Поскольку Python 2.7 был последним крупным обновлением в 2010 году, датой окончания срока службы Python 2 было 1 января 2020 года.

Python 3 был выпущен как обновление Python 2 в 2008 году, и эти две версии сосуществовали около десяти лет. Сегодня Python 3 используется 95% Python-разработчиков . Если вы ищете разработчиков Python, вы можете отдать предпочтение Python 3, а не Python 2.

Но о чем именно спорят, когда речь заходит о Python 2 и Python 3? А Python 2 еще актуален? Читайте дальше, возможно, вы будете удивлены ответом.

Что такое Python 2?
Python 2.0 должен был принести в массы больше инклюзивности и грамотности программирования. Перед выпуском в 2010 году Python в значительной степени поддерживался его создателем Гвидо ван Россумом, который разработал исходную версию языка в 1991 году.

С Python 2 Россум открыл возможности разработки и усовершенствования Python для более широкого сообщества разработчиков. По мере того, как сообщество вносило свой вклад в будущие выпуски и совершенствовало свою кодовую базу, Python 2 стал одним из наиболее часто используемых языков в мире.

Python 2 поднял первоначальную цель языка по распространению грамотности программирования на новый уровень благодаря множеству улучшений по сравнению с предыдущими версиями.

Он также сыграл важную роль в разработке таких языков, как Perl и Ruby, и сегодня используется такими организациями, как Netflix, Spotify, Reddit, Uber и Instagram.

Что такое Python 3?
Python 3 был выпущен в 2008 году. Он стремился улучшить Python 2, не внося радикальных изменений в новую версию 2.x. Следовательно, Python 3 появился как отдельная ветвь общей экосистемы Python. По дизайну Python 3 обратно несовместим с Python 2.

База пользователей Python разделена между Python 2 и 3 в зависимости от различий в вариантах использования и их готовности выполнять сложные миграции.

От веб-разработки и компьютерной графики до машинного обучения и анализа данных — две версии Python подходили для разных вариантов использования. Даже сейчас Python 2 предпочтительнее Python 3 при написании кода для компьютерной графики, игр и разработки мобильных приложений .

Хотя некоторые функции Python 3 были перенесены в Python 2, чтобы облегчить переход на Python 3, этот процесс по-прежнему требует значительных усилий.

В чем отличия между Python 2 и Python 3?
Поскольку Python 3 является таким значительным отклонением от Python 2, между двумя версиями обязательно будут серьезные различия.

  • Обратная совместимость: хотя код Python 2 может быть перенесен в Python 3 с некоторыми усилиями, Python 3 не имеет обратной совместимости с Python 2.
  • Синтаксис: Python 2 имеет более сложный синтаксис и его труднее понять по сравнению с Python 3, хотя синтаксис похож.
  • Современное использование: использование Python 2 практически прекратилось, в то время как Python 3 популярен как никогда и используется 95% разработчиков Python.
  • Применение: Python 2 предпочтительнее для некоторых вариантов использования, таких как разработка мобильных приложений и компьютерная графика, в то время как для всего остального по-прежнему предпочтительна версия Python 3.
  • Хранение строк: Python 2 по умолчанию хранит строки в ASCII, а Питон 3 хранит их в Unicode.
  • Целочисленное деление: Python 2 предоставляет целочисленное значение при делении целых чисел, тогда как Python 3 предоставляет значения с плавающей запятой (например, 9, разделенное на 4, даст 2 в Python 2 и 2,5 в Python 3).
  • Исключения: Python 2 заключает исключения в обозначения, тогда как Python 3 заключает их в круглые скобки.
  • Утечка переменных: в Python 2 переменные изменяемы (например, при использовании внутри цикла for). Но в Python 3 значения переменных не изменяются.
  • Итерация: в Python 2 функция xrange() используется для итераций, но в Python 3 вместо нее используется новая функция Range().

Python 3 — это современная версия языка, и помимо множества преимуществ, перечисленных выше, это более безопасная и актуальная версия. Если вы все еще используете Python 2, ваши системы подвержены проблемам безопасности и ошибкам.""

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

Python 3 был разработан как более удобочитаемая и простая для понимания версия языка.

Зачем оставаться с Python 2?
Хотя Python 2 сейчас устарел и вызывает проблемы с безопасностью и стабильностью, если вы все еще используете его в своих системах, все же может быть причина, чтобы остаться с ним.

Многие компании имеют приложения, написанные на Python 2, и не хотят переходить на Python 3, опасаясь поломки приложений. Миграция, как правило, требует больших усилий и требует не только времени, но и значительных денежных вложений. Поддержка таких устаревших приложений означает сохранение кода Python 2 наряду с усилиями по внедрению Python 3 для новых задач разработки.

Какая версия лучше: Python 2 или Python 3? За и против

Изучив различия между двумя версиями Python и причины «оставаться или двигаться», можно задаться вопросом, какая из версий лучше.

Преимущества Python 3
Python 3, безусловно, является лучшей версией этих двух. Дебаты между Python 2 и Python 3 на самом деле не выдерживают критики из-за значительных улучшений, которые Python 3 имеет по сравнению с Python 2.

В дополнение к производительности, синтаксису и всем другим улучшениям качества жизни, Python 3 также является лучшим вариантом с точки зрения безопасности и надежности. Постоянно растущее сообщество Python 3 обеспечивает быстрое исправление ошибок и регулярное внедрение новых функций.

Преимущества Python 2
Python 2 лучше подходит для некоторых случаев использования, как мы обсуждали выше. Если вы работаете с компьютерной графикой, играми или разработкой для мобильных устройств, стоит попробовать Python 2.

Для разработчиков, пожалуй, единственная причина изучать Python 2 или работать с ним — это получить навыки миграции на Python 3. Кроме того, компаниям требуются разработчики Python 2 для поддержки устаревшего кода Python 2.

Как выбрать лучшую версию Python для использования?
Объективно Python 3 может быть лучшей версией, но вам все равно нужно оценить свои потребности и выбрать лучшую версию Python для вашего проекта.

Если вы довольно новая организация, скорее всего, вы не используете Python 2. В этом случае нет практически никаких причин рассматривать Python 2, если только вы не работаете с определенными библиотеками, которые еще не совместимы с Python 3.

Если у вас есть устаревшие приложения Python 2 и вы пока не хотите переходить на Python 3, вы можете сохранить Python 2 и привлечь разработчиков для поддержки вашей кодовой базы. Но рекомендуется запланировать переход на Python 3 как можно скорее. Кроме того, старайтесь выбирать Python 3 для всех новых проектов разработки.

Независимо от вашей версии Python вам потребуется нанять разработчиков Python для проектов разработки, миграции или просто обслуживания. IT and Digital может помочь вам нанять Python-разработчиков мирового класса, не вкладывая кучу денег в поиск и подбор ит персонала. Когда вы сотрудничаете с нашим ит рекрутинговым агентством, вам не нужно нести расходы на найм, которые могут составлять значительный процент от годовой зарплаты разработчика.

Python легко понять и изучить, что также приводит к тому, что огромное количество разработчиков Python борются за востребованные вакансии. Вам необходимо тщательно проверить и провести собеседование с пулом кандидатов, чтобы найти разработчиков для вашего проекта. А на это иногда могут уйти месяцы!

Наше ИТ кадровое агентство предлагает вам найти разработчика Python менее чем за 2 недели. Свяжитесь с нами сегодня, чтобы узнать больше о том, как мы можем помочь масштабировать ваш следующий проект до новых высот. Мы гарантируем поиск самого сильного, а не самого дорого кандидата. За 10 лет в подборе it специалистов, мы закрыли 5500+ вакансий и собрали 25+ команд с нуля. Убедитесь сами и ознакомьтесь с отзывами клиентов о нашем рекрутинговом агентстве! Нужно больше референсов? Напишите нам в телеграмм.

HR Блог для IT рекрутера в Телеграм

Хочешь всегда получать новые статьи, бесплатные материалы и полезные HR лайфхаки! Подписывайся на нас в Telegram! С нами подбор ит персонала становится проще 😉

Что лучше: python 2 или 3?

Привет! Хочу пробежаться по питону, какая ветка актуальнее, или все зависит от задач?
Да и вообще,что нового в 3 ветке?

  • Вопрос задан более трёх лет назад
  • 25687 просмотров

Комментировать
Решения вопроса 2

RomanAkaMagician

RomanAkaMagician @RomanAkaMagician

Можно долго спорить какая версия лучше, но с логической стороны поддержку 2 ветки продлили до 2020 (вроде как) при этом большинство крупных проектов уже переехали 3, то что имеет смысл начинать с 3 версии.

Ответ написан более трёх лет назад
Комментировать
Нравится 5 Комментировать

sim3x

Для пробежки любая норм

Да и вообще,что нового в 3 ветке

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 6
борец с ветряными мельницами

Так толсто, что даже тонко. Предлагаю дождаться вам четвертой ветки.

Ну а если этот вопрос задан на полном серьезе, то с каждым минорным релизом в третьей ветке грустит один адепт второй, ведь рано или поздно (на самом деле поздно) им придется мигрировать.

Под типичный круг задач есть свои наборы популярных модулей, подавляющее большинство которых медленно-медленно, но стали совместимы с третьей веткой. Если ничего сверхъестественного делать не собираетесь, то стоило бы использовать ее.

Ответ написан более трёх лет назад
Комментировать
Нравится 5 Комментировать

А вам нужен абстрактный питон или питон и какие-то особые библиотеки? Не смотря на то что питон 3 вышел довольно давно, до сих пор не все библиотеки работает под ним, и для многих из них придется пользоваться второй версией.

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

Раз уж вы только собрались подружится с Python, то конечно актуальнее начать знакомство с третьей версией интерпретатора. А лучше или хуже, не серьезно звучит вопрос. Python он и в Африке Python.

Ответ написан более трёх лет назад
Нравится 1 1 комментарий
Иван Иванов @0x3 Автор вопроса
Я читал сравнения. Разница довольно ощутимая
Разработчик на Django/Python, JavaScript
можно в гугле написать "python 3 vs python 2" :))))))))
Ответ написан более трёх лет назад
Не поверите! Написал, перешел по ссылке, а тут обратно в гугл отправляют!

DotDash

угадайте, какая ссылка будет первой в поиске?

alxpy

Рекомендую начать с 3й версии - Киллер-фичи Python 3
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать

Одного варианта ответа нет.
1) Если просто хотите начать изучать и не знаете для чего, то Python 3
2) Если конкретно под какую-то программу или компанию, то ту версию какая там используется
3) Если хотите с помощью Python подрабатывать, делать какие-то проекты, и если в них не важна версия, то лучше Python 2, так как для него больше готовых кодов, больше поддержки, и готовых ответов на вопросы в интернете.
4) Если представить что человек знает обе версии на отлично, то лучше для новых проектов использовать Python 3
5) Ещё момент, при использование готовых библиотек может оказаться, что нужная работает на 3.6, а на 3.7 и более новых версиях не работает.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

python

  • Python

Как исправить ошибку с получением и проверкой данных?

  • 1 подписчик
  • час назад
  • 33 просмотра

python

  • Python
  • +1 ещё

Как реализовать базовый класс для динамического создания подклассов без вызова рекурсии в Python?

  • 1 подписчик
  • 3 часа назад
  • 73 просмотра

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. Чтобы всё это проверить, совсем необязательно устанавливать у себя сразу два «Пайтона». Можно воспользоваться онлайн-компилятором (можно найти компилятор и для двойки, и для тройки). Есть и другие различия, но они выходят за рамки данной статьи.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *