Практический курс Python для начинающих

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

1. Основы синтаксиса Python: переменные, типы данных и условные операторы

Основы синтаксиса Python: переменные, типы данных и условные операторы

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

!Официальный логотип языка программирования Python

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

> Программы должны писаться для людей, которые будут их читать, и лишь во вторую очередь для машин, которые будут их выполнять. > > Харольд Абельсон

Фундамент абсолютно любой программы строится на трех базовых понятиях: переменных, типах данных и условных операторах. Давайте подробно изучим принципы их работы.

Переменные: надежные контейнеры для вашей информации

Представьте, что вы переезжаете в новый офис. Вы складываете документы и вещи в картонные коробки и маркером пишете на них: «Договоры», «Канцелярия», «Архив». В программировании переменные выполняют точно такую же функцию. Это именованные «коробки» (или выделенные участки оперативной памяти компьютера), в которые мы можем положить какие-либо данные, чтобы использовать их позже в расчетах или логике программы.

!Схема переменных как контейнеров для данных

Создание переменной в Python происходит максимально просто и естественно. Вам нужно придумать ей имя, поставить знак равенства и указать сохраняемое значение:

В этом коротком примере мы создали две переменные. Первая называется user_name, и в ней хранится текстовое значение "Амир". Вторая называется age, и она надежно хранит число 30.

Важное правило: знак = в программировании означает не математическое равенство двух сторон, а операцию присваивания. Компьютер всегда читает эту строку справа налево: он берет значение 30 и присваивает (кладет) его в переменную с именем age.

Правила и рекомендации по именованию переменных

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

  • Имя переменной может состоять только из латинских букв, цифр и знака подчеркивания (_). Использование пробелов категорически запрещено.
  • Имя не может начинаться с цифры. Название user_1 — абсолютно правильное, а вот 1_user — немедленно вызовет синтаксическую ошибку.
  • Python крайне чувствителен к регистру букв. Переменные Age, age и AGE — это три совершенно разные «коробки» в памяти компьютера.
  • Используйте осмысленные имена. Переменная с названием discount_rate (размер скидки) гораздо понятнее, чем просто одиночная буква d.
  • Типы данных: что именно лежит в коробке?

    В реальной жизни вы по-разному обращаетесь с хрупкими хрустальными бокалами и тяжелыми старыми книгами. Точно так же компьютер должен четко знать, с каким типом данных он имеет дело в данный момент, чтобы понимать, какие операции с ними можно безопасно выполнять. Например, числа можно умножать и делить, а тексты — объединять друг с другом.

    В Python существует четыре основных встроенных типа данных, с которыми вы будете работать подавляющее большинство времени:

    | Название типа | Обозначение в коде | Описание простыми словами | Примеры значений | | :--- | :--- | :--- | :--- | | Целые числа | int (integer) | Любые числа без дробной части, как положительные, так и отрицательные. Используются для подсчета количества. | 10, -5, 0, 1000 | | Вещественные числа | float | Числа с плавающей точкой (дробные). В Python целая часть всегда отделяется от дробной точкой, а не запятой. | 3.14, -0.001, 2.0 | | Строки | str (string) | Любой текст. Строки всегда должны быть заключены в одинарные (' ') или двойные (" ") кавычки. | "سلام", 'Python', "123" | | Логический тип | bool (boolean) | Может принимать только одно из двух строгих значений: истина или ложь. Всегда пишутся с большой буквы. | True, False |

    Динамическая типизация: умный подход Python

    Python — это язык с динамической типизацией. Это означает, что вам не нужно заранее объяснять компьютеру, какой именно тип данных будет лежать в переменной. Python сам догадается об этом в момент присваивания значения. Более того, вы можете положить в одну и ту же коробку сначала целое число, а потом заменить его на текст:

    Операции с разными типами данных

    С числами все интуитивно понятно: вы можете использовать стандартные математические операторы: + (сложение), - (вычитание), * (умножение) и / (деление).

    Но что можно делать со строками? Строки можно «складывать» (эта операция называется конкатенацией). При сложении двух строк они просто склеиваются в одну:

    Преобразование типов: когда данные не совпадают

    Иногда возникает ситуация, когда число записано как текст (например, пользователь ввел свой возраст в форму на веб-сайте). Если вы попытаетесь сложить текстовую строку "10" и математическое число 5, Python немедленно выдаст ошибку, потому что он не умеет складывать слова с числами.

    Для элегантного решения этой проблемы используются встроенные функции преобразования: * int() — превращает переданное значение в целое число. * float() — превращает значение в дробное число. * str() — превращает значение в текстовую строку.

    Пример из реальной практики:

    Условные операторы: учим программу принимать решения

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

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

    Базовый синтаксис: if, elif, else

    Ключевое слово if переводится с английского как «если». После него пишется проверяемое условие, а затем обязательно ставится двоеточие.

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

    Рассмотрим пример автоматизации: скрипт для мониторинга температуры сервера.

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

    Что если мы хотим добавить альтернативный сценарий? Используем ключевое слово else (переводится как «иначе»):

    Если возможных вариантов больше двух, на помощь приходит оператор elif (сокращение от else if — «иначе если»). Вы можете добавлять абсолютно любое количество блоков elif в вашу конструкцию.

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

    Логические операторы: сложные условия

    Иногда одного сравнения недостаточно. Например, вам нужно проверить, что возраст пользователя больше 18 И у него есть билет. Для объединения нескольких условий используются логические операторы: * and (И) — условие истинно, только если верны оба утверждения. * or (ИЛИ) — условие истинно, если верно хотя бы одно утверждение. * not (НЕ) — меняет значение на противоположное.

    Практическое применение: объединяем знания в реальном проекте

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

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

    Понимание того, как правильно называть переменные, выбирать подходящие типы данных и строить логические ветвления — это ваш прочный фундамент в IT. Освоив эти базовые концепции, вы сможете писать скрипты, которые будут экономить вам часы ручной работы каждый день, будь то обработка таблиц Excel, парсинг веб-сайтов или создание Telegram-ботов.