Основы программирования на Python

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

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

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

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

Почему Python так популярен? Главная причина — его читаемость. Код на Python часто выглядит как обычный текст на английском языке, что делает его идеальным выбором для новичков.

Подготовка рабочего места

Прежде чем писать код, нам нужно установить «переводчик». Компьютер не понимает человеческий язык и даже язык программирования напрямую. Ему нужен интерпретатор — программа, которая читает ваш код на Python и переводит его в команды, понятные процессору.

Установка Python

  • Перейдите на официальный сайт Python.org.
  • В разделе Downloads скачайте последнюю версию Python 3 (например, 3.12 или новее) для вашей операционной системы (Windows, macOS или Linux).
  • Важно для пользователей Windows: При установке обязательно поставьте галочку напротив пункта Add Python to PATH. Это позволит запускать Python из командной строки.
  • Среда разработки (IDE)

    Писать код можно даже в «Блокноте», но это неудобно. Программисты используют специальные редакторы кода или IDE (Integrated Development Environment). Для начала мы рекомендуем использовать IDLE (устанавливается вместе с Python) или Visual Studio Code (более мощный редактор).

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

    Ваша первая программа

    Традиционно изучение любого языка начинается с вывода на экран фразы «Hello, World!». Давайте сделаем это.

    Откройте редактор кода, создайте файл hello.py и напишите следующую строку:

    Запустите программу. Если вы увидели в консоли текст Hello, World!, поздравляем! Вы написали свою первую программу.

    Разберем, что здесь произошло: * print — это функция. Команда, которая говорит Python: «напечатай то, что находится внутри скобок». * "Hello, World!" — это строка (текст). Текст в Python всегда должен быть заключен в кавычки.

    Переменные

    Представьте, что вы переезжаете и упаковываете вещи в коробки. Чтобы не забыть, что где лежит, вы подписываете коробки: «Книги», «Посуда», «Одежда». В программировании переменные — это и есть такие подписанные коробки, в которых хранятся данные.

    !Визуализация концепции переменной как контейнера для хранения данных

    Чтобы создать переменную, нужно придумать ей имя и присвоить значение с помощью знака равно =. В программировании этот знак означает не «равно», а «присвоить».

    Когда Python встречает print(message), он смотрит на «коробку» с надписью message, достает оттуда содержимое («Привет, мир!») и печатает его.

    Правила именования переменных

    Имя переменной (идентификатор) должно быть понятным. Сравните x = 10 и user_age = 10. Второй вариант сразу говорит нам, что в переменной хранится возраст пользователя.

    Правила:

  • Имя может содержать буквы, цифры и знак подчеркивания _.
  • Имя не может начинаться с цифры (например, 1st_place — ошибка).
  • В именах нельзя использовать пробелы. Вместо них используют подчеркивание: my_variable.
  • Python чувствителен к регистру: Age, age и AGE — это три разные переменные.
  • Простые типы данных

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

    Рассмотрим четыре основных типа данных.

    1. Целые числа (Integer или int)

    Это обычные числа без дробной части: 1, 10, -5, 1000.

    С числами можно выполнять математические операции. Например, формула площади прямоугольника:

    где — площадь, — длина, — ширина.

    В коде это выглядит так:

    2. Числа с плавающей точкой (Float)

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

    Если вы напишете 72,5, Python подумает, что это два разных числа, перечисленных через запятую, а не одно дробное.

    3. Строки (String или str)

    Строка — это последовательность символов. Строки всегда заключаются в кавычки. Можно использовать как одинарные ', так и двойные " кавычки, главное — чтобы открывающая и закрывающая кавычки были одинаковыми.

    Если вы обернете число в кавычки, для Python оно станет текстом:

    4. Логический тип (Boolean или bool)

    Этот тип данных может принимать только два значения: True (Истина) или False (Ложь). Обратите внимание, что они пишутся с большой буквы.

    Логический тип часто используется для принятия решений в программе (например, «если пользователь авторизован, показать профиль»).

    Как узнать тип данных?

    Иногда мы не знаем или забыли, какой тип данных хранится в переменной. Для этого существует встроенная команда type().

    Комментарии

    Хороший код должен быть понятен не только компьютеру, но и человеку. Иногда нужно оставить заметку для себя или коллег. Для этого используются комментарии. Все, что написано после символа решетки #, игнорируется Python.

    Заключение

    Сегодня вы сделали первый шаг: установили Python, написали первую программу и узнали, как хранить данные в переменных. Вы познакомились с числами (int, float), строками (str) и логическими значениями (bool).

    В следующих статьях мы научимся управлять потоком программы и заставим компьютер принимать решения.

    2. Управляющие конструкции: условные операторы if-else и циклы for и while

    Управляющие конструкции: условные операторы if-else и циклы for и while

    Добро пожаловать во вторую статью курса «Основы программирования на Python»! В прошлый раз мы научились создавать «коробки» для данных — переменные, и класть в них числа и строки. Но пока наши программы были похожи на поезд, идущий по прямым рельсам: от первой строчки кода до последней, без остановок и поворотов.

    Сегодня мы добавим в наш код логику. Мы научим программу принимать решения (поворачивать стрелки на путях) и повторять действия (ездить по кругу), пока работа не будет выполнена. Эти инструменты называются управляющими конструкциями.

    Условные операторы: искусство принятия решений

    В жизни мы постоянно принимаем решения по схеме «ЕСЛИ — ТО». Если на улице дождь, то* я беру зонт. Если магазин закрыт, то* я иду в другой.

    В программировании за это отвечает оператор if (если).

    !Блок-схема работы условного оператора: программа проверяет условие и выполняет код только в случае успеха.

    Синтаксис if

    Давайте напишем программу, которая проверяет, совершеннолетний ли пользователь.

    Обратите внимание на две критически важные вещи:

  • Двоеточие : в конце строки с if. Оно говорит Python: «Дальше будет блок кода, который относится к этому условию».
  • Отступы (Indentation). Строки print сдвинуты вправо (обычно на 4 пробела). В Python отступы — это не просто красота, это часть синтаксиса. Все, что сдвинуто, выполняется только если условие истинно.
  • Операторы сравнения

    Чтобы задать условие, нам нужны операторы сравнения. В математике мы привыкли к знакам равенства и неравенства. В Python они выглядят так:

    * > — больше * < — меньше * >= — больше или равно * <= — меньше или равно * == — равно (обратите внимание: два знака равно, так как одно = — это присваивание!) * != — не равно

    Рассмотрим математическую запись условия:

    где — проверяемое значение, — оператор «больше или равно», а — пороговое значение.

    Конструкция if-else

    Что делать, если условие не выполнено? Для этого существует оператор else (иначе).

    Блок else выполняется только тогда, когда условие в if оказалось ложным (False).

    Множественный выбор: elif

    Иногда вариантов больше, чем два. Например, в игре нужно определить ранг игрока по очкам. Для этого используется elif (сокращение от else if — «иначе если»).

    Python проверяет условия сверху вниз. Как только он находит первое истинное условие (в нашем случае score >= 70), он выполняет его блок и пропускает все остальные проверки в этой конструкции.

    Логические операторы

    Иногда нужно проверить сразу несколько условий. Например, доступ разрешен, если пользователю есть 18 лет И у него есть билет.

    Для этого используются логические операторы:

  • and (И) — истина, только если оба условия верны.
  • or (ИЛИ) — истина, если хотя бы одно условие верно.
  • not (НЕ) — инвертирует значение (делает True из False и наоборот).
  • Формально это можно записать с помощью булевой алгебры:

    где — итоговый результат, — первое условие, — второе условие, а — логическое «И».

    Пример в коде:

    Циклы: автоматизация повторений

    Представьте, что вам нужно вывести фразу «Я люблю Python» 100 раз. Писать 100 строк print — неэффективно. Программисты ленивы (в хорошем смысле), поэтому они придумали циклы.

    Цикл — это конструкция, которая повторяет блок кода несколько раз.

    Цикл while (Пока)

    Этот цикл работает до тех пор, пока условие истинно. Он похож на повторяющийся if.

    Как это работает:

  • Проверяется условие count <= 5.
  • Если оно истинно, выполняется тело цикла (вывод текста и увеличение count).
  • Программа возвращается к шагу 1.
  • Когда count станет равным 6, условие станет ложным, и цикл прекратится.
  • Осторожно: Бесконечный цикл! Если вы забудете увеличить счетчик (count = count + 1), условие 1 <= 5 будет истинным всегда. Программа «зависнет», бесконечно печатая текст. Чтобы прервать такую программу, обычно используют сочетание клавиш Ctrl+C.

    Цикл for (Для)

    Цикл for в Python устроен иначе, чем во многих других языках. Он предназначен для обхода последовательностей (например, строк или списков).

    Представьте, что for — это конвейер, который берет элементы по одному и что-то с ними делает.

    #### Перебор строки

    В этом примере переменная letter по очереди принимает значения: 'A', 'l', 'e', 'x'. Цикл выполнится 4 раза.

    !Визуализация работы цикла for: последовательная обработка элементов.

    #### Функция range()

    Чаще всего нам нужно просто выполнить действие раз. Для этого используется функция range(), которая генерирует последовательность чисел.

    Важно запомнить: range(5) создает последовательность 0, 1, 2, 3, 4. Последнее число (5) не включается!

    У функции range есть три параметра: range(start, stop, step).

  • start — начало (по умолчанию 0).
  • stop — конец (не включается).
  • step — шаг (по умолчанию 1).
  • Математически количество итераций для range(start, stop, step) можно выразить так (для целых чисел):

    где — количество шагов, — конечное значение, — начальное значение, — шаг, а — округление вверх.

    Пример с шагом:

    Управление циклом: break и continue

    Иногда нам нужно вмешаться в работу цикла до его естественного завершения.

    break — экстренная остановка

    Команда break немедленно прерывает цикл и выходит из него.

    continue — пропуск хода

    Команда continue завершает текущую итерацию и переходит к следующей проверке условия (в while) или следующему элементу (в for).

    Вложенные конструкции

    Вы можете вкладывать циклы и условия друг в друга сколько угодно раз. Главное — следить за отступами.

    В этом примере внешний цикл («День») выполнится 3 раза, и каждый раз внутри него будет полностью выполняться внутренний цикл («Упражнение»).

    Заключение

    Поздравляю! Теперь ваши программы умеют думать и работать за вас, повторяя рутинные действия. Вы освоили: * if-elif-else для ветвления сюжета программы. * while для работы до выполнения условия. * for и range() для перебора последовательностей. * break и continue для тонкой настройки циклов.

    В следующей статье мы разберем Списки (Lists) — мощный инструмент для хранения множества данных в одной переменной, который идеально сочетается с циклом for.