Автостопом по Python | страница 3
Глава 1. Выбираем интерпретатор
Python 2 против Python 3
При выборе интерпретатора для Python всегда возникает вопрос, что выбрать — Python 2 или Python 3? Ответ не всегда очевиден, однако третья версия с каждым днем становится все более популярной.
Дела обстоят следующим образом:
• долгое время стандартом был Python 2.7;
• в Python 3 произошли значительные изменения в языке (этим немного недовольны некоторые разработчики[1]);
• Python 2.7 будет получать обновления безопасности до 2020 года (https://www.python.org/dev/peps/pep-0373/);
• Python 3 продолжает развиваться, как это происходило с Python 2 в последние годы.
Теперь вы понимаете, почему этот выбор не из простых.
Рекомендации
Как нам кажется, опытный разработчик скорее выберет Python 3. Но, если вы можете работать только с Python 2, вы все равно будете считаться пользователем Python. Вот наши рекомендации.
Используйте Python 3, если…
• вам нравится Python 3;
• вы не знаете, какую версию выбрать;
• вы новатор.
Используйте Python 2, если…
• вам нравится Python 2 и вас печалит мысль, что в будущем вас ждет лишь Python 3;
• это повлияет на требования к стабильности вашего приложения[2];
• этого требует программное обеспечение, от которого вы зависите.
То есть… Python 3?
Если вы выбираете интерпретатор для Python и не имеете предубеждений, вам следует использовать новейший Python 3.х (в каждой версии появляются новые и улучшенные модули стандартных библиотек, а также исправления ошибок и пробелов в безопасности). Прогресс не стоит на месте. Выбирайте Python 2, только если на то есть серьезная причина, например вы работаете с библиотекой, которая использует Python 2 и не имеет адекватной альтернативы в Python 3, если вам нужна конкретная реализация (см. раздел «Реализации» далее) или если вам просто нравится работать с Python 2 (как некоторым из нас).
С помощью ресурса Can I Use Python 3? (https://caniusepython3.com/) вы можете проверить, блокируют ли используемые вами проекты возможность работать с Python 3.
Для получения информации обратитесь к Python2orPython3 (http://bit.ly/python2-or-python3), где указываются причины обратной несовместимости в спецификации языков, а также приводятся ссылки на подробные описания различий.
Если вы только начинаете работу с Python, кое о чем вам следует волноваться больше, чем о кросс-совместимости всех версий Python. Просто пишите работающий код для своей системы, а остальное наверстаете позже.