1. Основы синтаксиса: переменные, типы данных, циклы и функции
Основы синтаксиса: переменные, типы данных, циклы и функции
Добро пожаловать в курс Python: от основ до автоматизации с Selenium и API. Это первая и фундаментальная статья, с которой начнется ваше погружение в мир программирования. Python сегодня — это не просто язык, это инструмент, который используют аналитики данных, веб-разработчики, специалисты по искусственному интеллекту и, конечно же, инженеры по автоматизации тестирования.
Почему мы выбрали Python? Он обладает чистым и понятным синтаксисом, который читается практически как обычный английский текст. Это позволяет новичкам быстро освоить базовые концепции и сразу перейти к практике.
!Сферы применения языка Python
В этой лекции мы разберем строительные блоки любой программы: как хранить данные, как принимать решения и как повторять действия.
Переменные: хранение информации
Представьте, что вы переезжаете и упаковываете вещи в коробки. Чтобы не забыть, что лежит внутри, вы наклеиваете на коробку стикер с надписью «Книги» или «Посуда». В программировании переменная — это и есть такой стикер, который ссылается на определенное значение в памяти компьютера.
В Python создание переменной происходит максимально просто. Вам не нужно заранее объявлять, какой тип данных будет в ней храниться (это называется динамическая типизация). Вы просто придумываете имя и присваиваете значение с помощью знака равно =.
Здесь user_name, age и is_student — это имена переменных.
Правила именования
Чтобы ваш код был понятен вам и вашим коллегам, важно соблюдать правила:
_.if, for, class).my_first_variable).> Читаемость кода важнее, чем скорость его написания. Код пишется один раз, а читается десятки раз.
Типы данных
Компьютер должен понимать, с чем он работает: с числом, текстом или логическим утверждением. В Python существует несколько основных типов данных, с которыми вы будете сталкиваться постоянно.
Числа (Integers и Floats)
Python отлично справляется с математикой. Существует два основных типа чисел:
* int (Integer) — целые числа. Например: 5, -10, 42.
* float (Floating point) — числа с плавающей точкой (дробные). Например: 3.14, 2.5, -0.01.
Разделителем дробной части всегда является точка, а не запятая.
Строки (Strings)
Строка — это последовательность символов. В Python строки заключаются в одинарные ' ' или двойные " " кавычки. Разницы между ними для интерпретатора нет, главное — не смешивать их (начать с одной, а закончить другой).
Одной из самых мощных функций при работе со строками являются f-строки (formatted strings). Они позволяют встраивать значения переменных прямо внутрь текста.
Логический тип (Boolean)
Этот тип данных имеет всего два возможных значения: True (Истина) и False (Ложь). Они часто являются результатом сравнения и используются для управления ходом программы.
Обратите внимание: True и False в Python пишутся с большой буквы.
Таблица основных типов
| Тип | Название в Python | Пример |
| :--- | :--- | :--- |
| Целое число | int | 100 |
| Дробное число | float | 99.9 |
| Строка | str | "Python" |
| Логический | bool | True |
Условные операторы: принятие решений
Программы редко бывают линейными. Обычно нам нужно выполнять разные действия в зависимости от ситуации. Например: «Если элемент на странице найден, кликнуть по нему, иначе — выдать ошибку».
Для этого используется конструкция if - elif - else.
Важность отступов
В Python отступы (индетация) — это не просто вопрос красоты, это часть синтаксиса. Блок кода, который должен выполниться при истинности условия, обязан быть сдвинут вправо. Стандарт — 4 пробела.
Если вы забудете отступ, программа выдаст ошибку IndentationError.
!Блок-схема работы условного оператора
Операторы сравнения
* == — равно (не путать с =, которое присваивает значение)
* != — не равно
* > — больше
* < — меньше
* >= — больше или равно
* <= — меньше или равно
Циклы: повторение действий
Автоматизация — это, по сути, повторение действий. Если вам нужно обработать 1000 файлов или проверить 50 ссылок на сайте, вы не будете писать код 50 раз. Вы используете цикл.
Цикл for
Цикл for используется, когда мы знаем количество повторений или хотим перебрать элементы в наборе данных (например, символы в строке).
Часто используется функция range(), которая генерирует последовательность чисел.
Если нужно пройтись по строке:
Цикл while
Цикл while выполняется до тех пор, пока условие истинно. С ним нужно быть осторожным: если условие никогда не станет ложным, вы получите «бесконечный цикл», и программа зависнет.
В контексте Selenium и автоматизации while часто используется для ожидания появления элемента на странице (например: «ждать, пока кнопка не станет активной»).
Функции: переиспользование кода
Когда ваш код разрастается, в нем начинают появляться повторяющиеся куски. Чтобы избежать дублирования и хаоса, мы упаковываем логику в функции.
Функция — это именованный блок кода, который выполняет определенную задачу. Вы определяете его один раз, а вызываете сколько угодно.
Анатомия функции
Для создания функции используется ключевое слово def.
Разберем по частям:
def — объявление функции.greet_user — имя функции (правила именования те же, что и у переменных).(name) — параметр (аргумент), который функция принимает на вход.return — ключевое слово, которое возвращает результат работы функции обратно в программу.Вызов функции
Если функция не имеет return, она вернет специальное значение None (пустота).
Зачем нужны функции в автоматизации?
Представьте, что в вашем тесте нужно 10 раз залогиниться на сайте. Вместо того чтобы 10 раз копировать код ввода логина и пароля, вы пишете одну функцию login(username, password) и вызываете её в нужных местах. Если дизайн сайта изменится, вам придется поправить код только в одном месте — внутри функции.
Практический пример: простая логика бота
Давайте объединим полученные знания. Напишем функцию, которая решает, стоит ли запускать тест, основываясь на времени суток и доступности сервера.
В этом примере мы использовали:
* Переменные в аргументах.
* Типы данных (bool и int).
* Условия (if, not, else).
* Функцию с возвращаемым значением.
Заключение
Сегодня мы заложили фундамент. Переменные, типы данных, циклы и функции — это алфавит языка Python. Невозможно написать сложный автотест или API-клиент, не понимая этих основ.
В следующей статье мы перейдем к более сложным структурам данных: Спискам и Словарям. Они позволят нам хранить наборы данных, например, список товаров из интернет-магазина или параметры конфигурации для тестов.
Практикуйтесь, экспериментируйте с кодом и не бойтесь ошибок — именно на них учатся лучшие программисты.