1. Основы синтаксиса и базовая логика
Основы синтаксиса и базовая логика
Программирование часто кажется магией, но на самом деле это просто способ общения с компьютером. Как и в любом человеческом языке, в Python есть свой словарный запас и правила грамматики. Эти правила называются синтаксисом. Если вы нарушите правила русского языка, собеседник вас, скорее всего, поймет. Компьютер же абсолютно прямолинеен: малейшая опечатка, и он откажется выполнять задачу.
Главный принцип Python — код должен быть легко читаемым. Создатель языка Гвидо ван Россум задумывал его так, чтобы программы выглядели почти как обычный текст на английском языке.
Переменные: коробки для хранения данных
Любая программа работает с информацией: именами пользователей, ценами товаров, количеством жизней в игре. Чтобы компьютер не забыл эти данные, их нужно где-то сохранить. Для этого используются переменные.
Представьте себе переезд. Вы берете пустую картонную коробку, кладете в нее книги и маркером пишете на боку: «Книги». В программировании переменная — это такая же коробка в памяти компьютера. Вы даете ей имя и кладете внутрь значение.
В Python создание переменной выглядит максимально просто:
Разберем этот код по частям:
user_age и player_name — это имена наших «коробок». Мы придумываем их сами. Хороший тон — называть переменные так, чтобы было понятно, что внутри. Имя x ни о чем не говорит, а user_age сразу дает понять, что здесь хранится возраст пользователя.= — это оператор присваивания. В математике он означает равенство, но в программировании это команда: «возьми то, что справа, и положи в коробку с именем, которое написано слева».25 и "Алексей" — это сами данные.!Визуализация переменных как коробок для хранения данных
Важное свойство переменных скрыто в самом их названии — они могут меняться. Если в процессе игры пользователь зарабатывает очки, мы просто кладем в ту же коробку новое значение, а старое исчезает навсегда:
Типы данных: почему 5 и "5" — это не одно и то же
Компьютер должен точно знать, с какой именно информацией он работает, потому что правила обработки для разных данных отличаются. В Python есть три базовых типа данных, с которыми вы будете сталкиваться постоянно:
Целые числа (integer или просто int*): числа без дробной части. Например: 10, -5, 1000000. Используются для подсчета количества предметов, возраста, шагов в цикле.
Числа с плавающей точкой (float*): дробные числа. В программировании дробная часть всегда отделяется точкой, а не запятой. Например: 3.14, 99.99, -0.5. Нужны для расчетов цен, веса, точных координат.
Строки (string или str*): любой текст. Строки всегда нужно заключать в кавычки (одинарные '' или двойные "" — в Python нет разницы). Например: "Привет", 'Game Over', "123".
Обратите внимание на последний пример. Число 123 и строка "123" для компьютера — совершенно разные вещи. С числом можно проводить математические операции. Строка же воспринимается просто как набор символов, как картинка с текстом.
> Если вы попытаетесь сложить число 5 и строку "5", Python выдаст ошибку, потому что он не понимает, как математически прибавить текст к числу.
Базовая математика и работа с текстом
Python отлично справляется с ролью мощного калькулятора. Он поддерживает все стандартные арифметические операции:
* Сложение: +
* Вычитание: -
Умножение:
* Деление: /
Посмотрим, как это работает на практике. Допустим, мы пишем скрипт для расчета стоимости заказа в кафе:
Здесь мы использовали встроенную команду print(). Это способ программы «заговорить» с нами. Все, что вы поместите внутри скобок, будет выведено на экран. В данном случае программа посчитает сумму (630) и покажет ее.
Интересно, что знак + работает не только с числами, но и со строками. Этот процесс называется конкатенацией (склеиванием):
На экране появится: Привет, Анна. Программа буквально приклеила вторую строку к концу первой.
Интерактивность: общение с пользователем
Программы были бы скучными, если бы работали только с заранее заданными данными. Чтобы скрипт стал полезным, он должен уметь запрашивать информацию у пользователя. Для этого используется команда input().
Когда программа дойдет до команды input(), она остановится и будет ждать, пока вы не напечатаете ответ на клавиатуре и не нажмете Enter. То, что вы введете, сохранится в переменную user_name.
Здесь кроется один важный нюанс: команда input() всегда сохраняет данные как строку (string). Даже если вы введете свой возраст цифрами, Python воспримет это как текст "25". Чтобы использовать эти данные в математических расчетах, их нужно преобразовать в целое число с помощью команды int():
Условная логика: как программы принимают решения
До этого момента наши скрипты выполнялись строго сверху вниз, строка за строкой. Но настоящие программы умеют ветвиться и принимать решения в зависимости от ситуации.
Представьте фейсконтроль в клубе: охранник проверяет ваш паспорт. Если вам 18 лет или больше, он пропускает вас. В противном случае — отправляет домой. В Python для реализации такой логики используются условные операторы if (если) и else (иначе).
Рассмотрим это на примере реальной медицинской задачи. Индекс массы тела рассчитывается по известной медицинской формуле:
где — индекс массы тела, — масса человека в килограммах, а — рост человека в метрах. Напишем программу, которая считает этот индекс и дает рекомендацию:
Разберем новые элементы:
if bmi < 18.5: — это условие. Программа проверяет, правда ли, что значение переменной bmi меньше 18.5. Обратите внимание на двоеточие : в конце строки. Оно обязательно и означает: «если условие верно, выполни следующий блок кода».elif bmi < 25.0: — это сокращение от else if (иначе если). Программа дойдет до этой строки, только если первое условие оказалось ложным. else: — срабатывает во всех остальных случаях, когда ни одно из предыдущих условий не подошло.Важность отступов
Посмотрите внимательно на код выше. Команды print() смещены вправо. В Python отступы (обычно это 4 пробела) играют критическую роль. Они показывают, какие именно команды относятся к условию if.
В других языках программирования для группировки кода часто используют фигурные скобки {}, но Python заставляет писать визуально чистый и структурированный код. Если вы забудете поставить отступ после if, программа выдаст ошибку и откажется работать.
Анатомия частых ошибок
Ошибки — это нормальная часть работы любого программиста, даже с двадцатилетним стажем. Когда Python сталкивается с проблемой, он останавливает работу и выводит сообщение об ошибке (traceback). Ваша задача — научиться их читать.
Вот три самые популярные ошибки новичков:
| Название ошибки | Причина | Пример из жизни |
| :--- | :--- | :--- |
| SyntaxError | Нарушение грамматики языка. Вы забыли закрыть скобку, пропустили двоеточие после if или не поставили кавычки вокруг текста. | Написать предложение без пробелов и знаков препинания. |
| NameError | Использование переменной, которая не была создана. Чаще всего возникает из-за банальной опечатки в имени переменной (например, создали price, а пытаетесь вывести pricce). | Попытка позвонить другу по имени, которого нет в вашей телефонной книге. |
| IndentationError | Проблема с отступами. Вы поставили лишний пробел в начале строки или, наоборот, забыли сделать отступ после условного оператора. | Сбой в иерархии оглавления книги, когда глава оказывается внутри параграфа. |
Если вы видите красные строки с ошибкой, не паникуйте. Посмотрите на самую последнюю строчку сообщения — там будет написано название ошибки (например, NameError). А чуть выше Python укажет точный номер строки в вашем коде, где эта ошибка произошла. Найдите эту строку, проверьте опечатки, скобки и отступы, и проблема будет решена.