Всем привет! Добрались до второго урока. Очень рад видеть вас снова.
Если вам кажется, что мы продвигаемся слишком медленно, — так и задумано. Я хочу познакомить вас с Python как можно подробнее, не перескакивая через
важные детали.
О чём поговорим сегодня:
- Короткий обзор прошлого урока и заполняем пробелы.
- Как получить Python у себя на компьютере.
- Способы взаимодействия с Python.
- Выбираем IDE.
- Ввод и вывод: первое знакомство с print() и input().
- Комментарии в Python.
Короткий обзор прошлого урока и наверстаем упущенное
В прошлый раз мы познакомились с историей Python и узнали, что он делится на две ветки: Python 2 и Python 3.
На самом деле деление скорее звучит как «Python 1 и 2» с одной стороны и
«Python 3» — с другой. Первые две версии уже очень старые, и код,
написанный на них, часто с трудом запускается на Python 3. Хорошая
новость в том, что большинство крупных проектов уже переписаны или адаптированы под Python 3. Мы смело можем изучать именно третью версию.
Мы рассмотрели сферы применения Python и увидели, что он используется
почти везде. В прошлом уроке я забыл упомянуть, что Python применяется
даже для создания игр. Для этого есть библиотека Pygame. Правда, в
игровой индустрии Python не занял ведущих позиций и используется скорее
для прототипирования или небольших проектов.
Мы говорили о преимуществах Python. Но у любого инструмента есть и
недостатки. Python медленнее, чем C++ или Java. Иногда при создании
систем искусственного интеллекта используют гибрид Python и C++, чтобы взять от первого простоту, а от второго — скорость. На начальных этапах
вы эту разницу вряд ли почувствуете. Кроме того, Python использует
больше памяти, чем языки с чёткой типизацией вроде Java. Третий
недостаток — исторические проблемы с многопоточностью из-за GIL (Global
Interpreter Lock). Раньше это считалось разумным компромиссом, но со
временем GIL стал узким местом. В новых версиях Python эту проблему уже постепенно решают.
В прошлом уроке мы говорили об особенностях Python, и тут тоже есть что добавить.
Я рассказывал про отступы, но забыл два важных нюанса. Первое:
если в обычной строке кода (не внутри цикла, условия или функции)
поставить хотя бы один пробел в начале — Python расценит это как ошибку.
Обычные строки кода пишутся без отступов.
Второе: внутри блока кода (тело функции, цикл, условие) отступов может быть сколько угодно, главное — все отступы одного блока должны быть одинаковыми. При этом в разных функциях или циклах отступы могут
различаться, и Python не будет на это ругаться.
Ещё одна важная особенность: интерпретатор Python выполняет код строго сверху вниз. Если в файле есть ошибка, все строки до неё выполнятся, и только на ошибочной строке программа упадёт. В Java, например, байт-код не выполнится вовсе, если в файле есть ошибка.
Как получить Python у себя на компьютере
От теории переходим к практике. Чтобы писать код на Python, нам нужен интерпретатор. Без него командная строка ответит: «python is not recognized».
Я буду объяснять установку в основном на Windows, потому что сам им
пользуюсь, да и многие из вас, думаю, тоже. Программисты часто предпочитают Linux, но для обучения Windows вполне подходит.
Заходим на официальный сайт python.org. Открываем вкладку Downloads — и сразу видим установщик последней версии. Нас интересует кнопка с конкретной версией, например Python 3.14.x (ищите последнюю стабильную). Она скачает исполняемый файл установщика.
Если нужна версия под конкретную разрядность Windows или более старая версия — заходим по ссылке «Windows» из выпадающего списка.
Слева будут стабильные релизы, справа — новые, но ещё «сырые», pre-release версии. Я рекомендую всегда использовать последнюю стабильную версию. Выбирайте ту, что совпадает с разрядностью вашего компьютера (сейчас почти все компьютеры 64-разрядные).
После скачивания запускаем установщик. Установка похожа на обычную программу, но есть критически важные нюансы.
Первое: на первом окне обязательно поставьте галочку напротив «Add python.exe to PATH». Без неё, чтобы работать с Python из командной строки, придётся каждый раз прописывать полный путь к интерпретатору, что крайне неудобно. Подробно об этой проблеме и её решении мы рассказывали в рубрике «Python: подводные камни и грабли».
Второе: я советую нажать Customize installation вместо «Install Now». Так вы сможете изменить путь установки. Путь по умолчанию (C:\Users\...\AppData\Local\Programs\...) неудобен и может содержать папки с русскими буквами, а это прямой путь к проблемам. Лучше указать что-то короткое и без пробелов, например C:\Python\Python314.
Примечание для Mac и Linux: Python часто уже предустановлен. Наберите python3 --version в терминале, чтобы проверить. Если Python нет, на Mac удобно использовать Homebrew (brew install python3), на Linux — ваш пакетный менеджер (sudo apt install python3).
После установки проверьте результат: python --version (или python3 --version на Mac/Linux). Для справки можно ввести python --help.
Способы взаимодействия с Python
Если просто ввести python в командной строке, вы попадёте в интерактивный режим. В нём можно писать код и сразу видеть результат. Минусы: нельзя сохранить написанное, нет автодополнения, поиска по истории. Такой режим
хорош для быстрого тестирования кусочка кода. Чтобы выйти, введите exit().
Вместе с интерпретатором устанавливается Python IDLE — собственный интерактивный режим Python в отдельном окне. Там можно
делать всё то же самое, что и в командной строке. Закрывается окно либо крестиком, либо командой exit(), которая сначала попросит подтверждения.
Есть и более продвинутая интерактивная оболочка — IPython. Чтобы её установить, используем pip (он устанавливается вместе с Python). Pip — это система управления пакетами Python (Package Installer for Python). Чтобы установить IPython, пишем в терминале: pip install ipython. После этого запускаем оболочку командой ipython.
В IPython вы получаете автодополнение кода, встроенную справку, «магические команды», историю команд и подсветку синтаксиса — в общем,
все удобства, которых лишён стандартный интерактивный режим. Можно установить и Jupyter: pip install jupyter. Про IPython и Jupyter я планирую рассказать отдельно.
Но настоящая работа на Python ведётся не в интерактивном режиме, а в файловом режиме, или режиме скриптинга. Это выглядит так: мы создаём папку проекта, внутри неё — файлы с расширением .py. Например, main.py. Затем запускаем этот файл через командную строку: python main.py. Даже пустой файл Python уже является программой. Она запускается без ошибок.
Редактировать .py-файлы можно хоть в Блокноте, но лучше использовать специализированный редактор кода. Подойдут Notepad++ (по сути, продвинутый блокнот) или Sublime Text. Но я рекомендую IDE PyCharm.
Это среда разработки, специально созданная для Python. У PyCharm есть
бесплатная версия Community, которой вполне хватит для полноценной работы. С 2025 года базовая версия PyCharm стала бесплатной для всех, а
Pro-фичи открываются по подписке.
В PyCharm есть встроенный терминал.
Открываем в нём наш main.py, добавляем код, запускаем.
Файл запускается, но на терминале мы ничего не видим. Почему?
Функции print и input
Файлы Python не выводят на терминал всё подряд. Они выполняют код, а на
терминал попадает только то, что мы явно выводим с помощью функции print().
print() — это встроенная функция, которая выводит результат на терминал. При обучении мы будем пользоваться ею постоянно, чтобы видеть результат работы кода. При разработке — чтобы отслеживать промежуточные результаты и отлаживать ошибки.
Как работает print():
- Строки пишутся в кавычках: одинарных или двойных. Внутри одинарных кавычек нельзя использовать одинарные без экранирования (\'). Внутри двойных — то же самое с двойными. Или можно использовать один тип кавычек внутри другого.
Числа и результаты математических операций пишутся без кавычек.
- Числа в кавычках становятся строкой.
Если print() — это вывод из кода наружу, то input() — это ввод внутрь кода. Когда вызывается input(), программа ждёт, пока пользователь что-то введёт и нажмёт Enter.
input() можно вызвать с обращением: input("Введите имя: "). Тогда на терминале появится эта подсказка, и пользователь будет знать, что от него требуется.
Иногда новичков может перепутать такое объявление функции input() с
переменным. Они могут думать что тут просто функция input() присваивается к переменному. Но при этом с начало вызывается сама функция input(), а потом результат (те данные которые ввел пользователь и нажал enter) присваивается к переменному. Если сейчас что то не понятно, не паникуйте, мы в будущем к подобным темам вернемся не раз.
Если результат input() никуда не сохранить, программа просто завершится после ввода. Можно поместить input() внутрь print(): сначала программа запросит ввод, а потом выведет его на экран.
Но обычно результат input() сохраняют в переменную (о переменных — в следующем уроке).
Важный факт: input() всегда возвращает строку. Даже если вы ввели цифры — это всё равно строка. Как превратить её в число, я расскажу позже.
Комментарии в Python
Как и в других языках программирования, в Python можно оставлять комментарии в коде. Комментарий — это часть кода, которую интерпретатор игнорирует. Комментарии видны только в редакторе кода и нужны исключительно для разработчиков.
Зачем нужны комментарии
Обычно комментарии оставляют при разработке, чтобы пояснить код, который следует ниже. Это особенно полезно, если проект сложный и над ним работают несколько разработчиков, или если код будут поддерживать другие люди после вас. Комментарии помогают сразу понять, какая часть кода за что отвечает.
Иногда разработчик оставляет комментарии и для самого себя — чтобы через какое-то время быстро вспомнить логику написанного.
Другая распространённая практика — временное отключение кода. Если код
работает с ошибкой, его комментируют и постепенно «раскомментируют» по мере исправления, чтобы локализовать проблему. Или когда пишут новый
функционал, его могут заранее закомментировать, чтобы он не влиял на текущую разработку и отладку.
Как писать комментарии
Однострочный комментарий начинается с символа #:
Комментарий можно поставить как на отдельной строке, так и на одной строке с кодом.
Согласно документации Python, чтобы сделать многострочное комментирование, формально нужно комментировать каждую строку по отдельности. На практике в редакторе кода можно выделить нужные строки и нажать Ctrl + / — редактор сам проставит # в начале каждой выделенной строки.
Многострочные комментарии через тройные кавычки
Существует и другой способ оставить многострочный комментарий — заключить текст в тройные кавычки """ или ''':
Строго говоря, это не настоящий комментарий, а скорее побочный эффект работы Python. Интерпретатор читает строковый литерал, но если он не присвоен переменной и не используется в выражении — просто отбрасывает его. Тем не менее, такой приём широко используется для многострочных пояснений в коде.
Docstring — особый вид комментариев
Забегая вперёд: у комментариев внутри тройных кавычек есть и другое,
официальное применение. Если разместить такой комментарий сразу после объявления функции, класса или модуля, он становится docstring — строкой документации.
Такие комментарии используются инструментами для автоматической генерации документации (например, Swagger для API). Но это уже тема для будущих уроков.
О чём мы говорили сегодня:
- Провели обзор прошлого урока и заполнили пробелы: недостатки Python, нюансы отступов, порядок выполнения кода.
- Разобрались, как установить Python на Windows (а также кратко на Mac и Linux).
- Рассмотрели режимы работы: интерактивный, IDLE, IPython и файловый (скриптинг).
- Познакомились с редакторами кода и IDE (я рекомендую PyCharm).
- Узнали про ввод и вывод данных через print() и input().
- Поговорили о комментариях и зачем они нужны.
Урок опять получился объёмным, но что делать — мало писать не получается. О каждой из этих тем можно было бы сделать отдельную статью. Я старался
быть лаконичным. Спасибо, что дочитали до конца.
Удачи вам в изучении кода и применении его в жизни. Давайте учиться вместе.
Код — не идеальный. Учитель — тоже. Но результат будет 💪