Более, чем один Python
Существует два основных вида Python: Python 2 и Python 3.
Python 2 - это более старая версия исходного Python. С тех пор его разработка намеренно приостановлена, хотя это не означает, что для него нет обновлений. Напротив, обновления выпускаются регулярно, но они не предназначены для значительного изменения языка. Они скорее исправляют недавно обнаруженные ошибки и дыры в безопасности. Путь разработки Python 2 уже зашел в тупик, но сам Python 2 все еще жив.
Python 3 - это более новая (точнее, текущая) версия языка. Он проходит собственный эволюционный путь, внедряя свои стандарты и черты.
Эти две версии Python несовместимы друг с другом. Скрипты Python 2 не будут работать в среде Python 3 и наоборот, поэтому, если вы хотите, чтобы старый код Python 2 запускался интерпретатором Python 3, единственное возможное решение - переписать его, а не с нуля, конечно, так как большие части кода могут остаться нетронутыми, но вам придется пересмотреть весь код, чтобы найти все возможные несовместимости. К сожалению, полностью автоматизировать этот процесс нельзя.
Перенос старого приложения Python 2 на новую платформу слишком сложный, требует много времени, слишком дорогой и слишком рискованный, и даже возможно, что переписывание кода внесет в него новые ошибки. Проще и разумнее оставить эти системы в покое и улучшить существующий интерпретатор вместо того, чтобы пытаться работать внутри уже функционирующего исходного кода.
Python 3 - это не просто лучшая версия Python 2 – это совершенно другой язык, хотя он очень похож на своего предшественника. Когда вы смотрите на них издалека, они кажутся одинаковыми, но если вы посмотрите внимательно, вы заметите много различий.
Если вы изменяете старое существующее решение Python, то весьма вероятно, что оно было написано на Python 2. Это причина, по которой Python 2 все еще используется. Существует слишком много приложений в Python 2, чтобы полностью отказаться от него.
ПРИМЕЧАНИЕ
Если вы собираетесь начать новый проект Python, вам следует использовать Python 3, и это версия Python, которая будет использоваться во время этого курса.
Важно помнить, что между последующими выпусками Python 3 могут быть меньшие или большие различия (например, Python 3.6 представил упорядоченные ключи словаря по умолчанию в реализации CPython) – Хорошая новость заключается в том, что все новые версии Python 3 обратно совместимы с предыдущими версиями Python 3. Мы всегда будем стараться подчеркивать эти различия в любом важном и значимом случае.
Все примеры кода, которые вы найдете в ходе курса, были протестированы на Python 3.4, Python 3.6, Python 3.7 и Python 3.8.