Первые шаги в Python: Пишем свой первый код

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

1. Знакомство с Python: установка окружения и первая программа print()

Знакомство с Python: установка окружения и первая программа print()

В 2021 году марсианский вертолет Ingenuity совершил свой первый полет в атмосфере Красной планеты. Скрипты, которые обрабатывали телеметрию и данные с камер этого аппарата на Земле, были написаны на Python. Тот самый язык программирования, который используют инженеры NASA, разработчики искусственного интеллекта и аналитики Уолл-стрит, сегодня станет вашим инструментом. Вы напишете свои первые строки кода, которые компьютер поймет и выполнит.

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

Как компьютер понимает Python

Центральный процессор любого компьютера понимает только машинный код — последовательности нулей и единиц, управляющие электрическими сигналами на микроуровне. Писать программы нулями и единицами для человека мучительно долго и сопряжено с колоссальным количеством ошибок.

Для решения этой проблемы были созданы языки программирования высокого уровня, к которым относится Python. Они используют английские слова (print, if, for) и привычные математические символы. Но процессор по-прежнему не понимает слово print. Нужен переводчик.

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

!Схема работы интерпретатора Python

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

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

!Портрет Гвидо ван Россума

Подготовка рабочего окружения

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

Есть два пути настройки окружения: локальный и облачный.

Локальная установка — это профессиональный стандарт. Вы скачиваете интерпретатор с официального сайта python.org, устанавливаете его на свой компьютер, а затем устанавливаете мощный редактор кода, например, Visual Studio Code или PyCharm. Это дает полный контроль над файлами, позволяет работать без интернета и устанавливать любые дополнительные библиотеки. Однако процесс настройки переменных среды и путей к файлам часто становится непреодолимым барьером в первый же день обучения.

Облачные среды (Online IDE) — идеальный выбор для старта. Сервисы вроде Replit, Google Colab или Online-Python.com предоставляют уже настроенный интерпретатор и редактор прямо в окне браузера. Вы открываете сайт и сразу пишете код. Вся вычислительная работа происходит на удаленных серверах, а вы видите только результат.

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

Первая программа: функция print()

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

Нажмите кнопку «Run» (Запустить). В консоли появится текст: Привет, мир!. Вы только что заставили удаленный сервер выполнить вашу команду. Разберем анатомию этой единственной строки кода:

  • print — это имя функции. Функция в программировании — это заранее заготовленная команда, которая выполняет определенное действие. Название print (печать) досталось нам в наследство от эпохи, когда компьютеры выводили результаты не на экраны, а печатали на реальной бумаге через телетайпы. Сегодня print означает «выведи информацию в консоль».
  • () — круглые скобки. Они всегда идут сразу после имени функции. Скобки — это способ передать функции материалы для работы. Как соковыжималке нужны яблоки, чтобы сделать сок, так функции print нужны данные, чтобы вывести их на экран. То, что находится внутри скобок, называется аргументом.
  • "Привет, мир!" — это сами данные. Обратите внимание на кавычки. Они критически важны. Кавычки говорят интерпретатору: «Это просто текст, не пытайся искать здесь команды, просто выведи эти символы как есть». В Python такой тип данных называется строкой (string). Можно использовать как двойные " ", так и одинарные ' ' кавычки, разницы нет, главное — чтобы они были парными.
  • Попробуем вывести числа. Напишите на новой строке:

    При запуске в консоли появится число 42. Заметьте, здесь нет кавычек. Почему? Потому что числа — это отдельный тип данных. Компьютер умеет производить с ними математические операции.

    Чтобы увидеть разницу между текстом (строкой) и числом, напишите две такие команды:

    Результат в консоли будет выглядеть так:

    В первом случае кавычки заставили Python воспринимать 2 + 2 просто как набор символов: двойка, пробел, плюс, пробел, двойка. Он вывел их без изменений. Во втором случае кавычек нет. Интерпретатор видит числа и математический оператор. Он сначала вычисляет результат (4), а затем передает этот результат функции print, которая выводит его на экран.

    Грамматика Python: базовый синтаксис

    Код выполняется строго последовательно, сверху вниз, строчка за строчкой. Интерпретатор не забегает вперед.

    !Построчное выполнение скрипта

    Если вы напишете несколько команд print, они появятся в консоли ровно в том порядке, в котором вы их написали. Это называется потоком выполнения программы.

    Python чувствителен к регистру (case-sensitive). Это значит, что заглавные и строчные буквы для него — абсолютно разные символы. Слово print — это встроенная команда языка. Но если вы напишете Print("Привет") с большой буквы, программа завершится ошибкой. Компьютер скажет, что команда Print ему неизвестна. Точно так же PRINT или pRint не сработают. Все встроенные команды Python пишутся строчными буквами.

    Еще один важный элемент синтаксиса — комментарии. Часто программисту нужно оставить заметку для себя или коллег прямо в коде, но так, чтобы интерпретатор не пытался эту заметку выполнить. Для этого используется символ решетки #.

    Всё, что находится правее символа # до конца строки, интерпретатор просто пропускает. Комментарии используются для объяснения сложной логики, а также для временного отключения частей кода при поиске ошибок.

    Концепция переменных (первый взгляд)

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

    Переменную можно представить как коробку, на которую вы наклеили стикер с названием, а внутрь положили какое-то значение.

    Здесь происходит следующее:

  • Мы придумали имя для коробки — user_name.
  • Знак = в программировании означает не математическое равенство, а команду присваивания. Он говорит: «Возьми то, что справа, и положи в коробку с именем, которое слева».
  • Мы положили в коробку строку "Алексей".
  • В следующей строке мы просим print вывести содержимое коробки user_name. Заметьте: переменная передается в print без кавычек. Если бы мы написали print("user_name"), на экран вывелся бы текст «user_name», а не имя Алексей.
  • Переменные позволяют писать гибкий код. Вы можете менять содержимое коробки, а логика программы останется прежней:

    Программа выведет сначала «В сети», а затем «Не беспокоить». Коробка одна и та же, но ее содержимое изменилось в процессе выполнения кода.

    Чтение ошибок (Traceback)

    В первый же день написания кода вы столкнетесь с ошибками. В кино красные надписи об ошибках на черном экране означают катастрофу или взлом. В реальной разработке ошибка — это штатная ситуация, диалог между вами и интерпретатором. Когда Python не может понять ваш код, он останавливается и печатает отчет, который называется Traceback (отслеживание ошибки).

    Напишите код с намеренной ошибкой — забудьте закрыть кавычку:

    При запуске консоль выдаст примерно такой текст:

    Не нужно пугаться этого текста, его нужно уметь читать с конца:

  • Тип ошибки: SyntaxError (Синтаксическая ошибка). Это значит, что нарушена грамматика языка.
  • Описание: unterminated string literal (незавершенная строка). Интерпретатор говорит, что строка началась, но не закончилась.
  • Место: line 1. Ошибка произошла на первой строке. Символ ^ любезно указывает на то место, где интерпретатор сдался и перестал понимать код.
  • Ошибки — это не показатель вашей некомпетентности. Даже программисты с десятилетним стажем ежедневно видят SyntaxError из-за опечаток, пропущенных скобок или кавычек. Главный навык на старте — не паниковать при виде красного текста, а спокойно читать, на какой строке произошел сбой и как называется ошибка.

    Написание кода — это процесс создания точных, однозначных инструкций. Вы познакомились с интерпретатором, который переводит ваши слова в действия, научились выводить текст и числа на экран, поняли разницу между данными и командами, а также увидели, как программа выполняется шаг за шагом. Умение корректно использовать print(), понимать базовый синтаксис и не бояться сообщений об ошибках закладывает фундамент, на котором будет строиться вся дальнейшая логика ваших будущих скриптов и приложений.