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

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

1. Введение в Python: установка окружения и первый код

Введение в Python: установка окружения и первый код

Язык программирования Python сегодня является одним из самых востребованных инструментов в IT-индустрии. Он используется в веб-разработке, анализе данных, машинном обучении и автоматизации рутинных задач. Созданный нидерландским программистом Гвидо ван Россумом в начале 1990-х годов, этот язык задумывался как простой и читаемый инструмент для разработчиков.

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

Ключевые преимущества, которые делают этот язык идеальным для старта: * Минималистичный синтаксис, похожий на обычный английский язык. * Огромная стандартная библиотека, содержащая готовые решения для большинства базовых задач. Кроссплатформенность — написанный код будет работать на Windows, macOS и Linux* без изменений. * Активное сообщество, благодаря которому легко найти ответ на любой возникающий вопрос.

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

Как работает интерпретатор

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

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

| Характеристика | Интерпретируемые языки (Python, JavaScript) | Компилируемые языки (C++, Go) | | :--- | :--- | :--- | | Скорость запуска | Мгновенная (сразу после написания) | Требует времени на предварительную сборку | | Скорость работы | Ниже, так как перевод происходит на лету | Выше, так как код уже оптимизирован для процессора | | Поиск ошибок | Ошибки обнаруживаются в процессе выполнения | Большинство ошибок находится до запуска | | Переносимость | Нужен установленный интерпретатор на целевой машине | Готовый файл запускается самостоятельно |

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

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

Установка рабочего окружения

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

Процесс установки для пользователей Windows:

  • Скачайте последнюю стабильную версию с официального сайта.
  • Запустите скачанный файл.
  • В самом первом окне установщика обязательно поставьте галочку напротив пункта Add Python to PATH. Это критически важный шаг, который позволит запускать программы из любой папки на компьютере.
  • Нажмите Install Now и дождитесь завершения процесса.
  • Для проверки успешности установки необходимо открыть командную строку (терминал) и ввести специальную команду.

    Если установка прошла корректно, терминал выведет текущую версию, например, Python 3.12.0. Если система сообщает, что команда не найдена, значит, галочка Add Python to PATH не была установлена, и процесс придется повторить.

    Выбор среды разработки

    Писать код можно даже в стандартном "Блокноте", но это крайне неудобно. Профессиональные разработчики используют интегрированные среды разработки (IDE) или продвинутые текстовые редакторы. Они подсвечивают синтаксис, автоматически закрывают скобки и помогают находить ошибки до запуска программы.

    Для начинающих отлично подойдут следующие инструменты: IDLE* — поставляется вместе с интерпретатором. Простая и легковесная среда, идеальная для первых экспериментов. Visual Studio Code* — мощный и бесплатный редактор от Microsoft. Требует установки дополнительных расширений, но обладает огромным функционалом. PyCharm Community Edition* — профессиональная IDE от компании JetBrains. Бесплатная версия содержит все необходимое для комфортного обучения.

    Первая программа и базовые операции

    Традиционно изучение любого языка программирования начинается с вывода на экран приветственного сообщения. В Python для этого используется встроенная функция print().

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

    Помимо вывода текста, язык отлично справляется с математическими вычислениями. Он поддерживает все стандартные арифметические операции: сложение, вычитание, умножение и деление.

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

    В этом примере мы создали три переменные, и каждая из них хранит свой тип данных. В Python существует несколько базовых типов, с которыми вы будете работать постоянно: Строки (str)* — текстовые данные, всегда заключаются в кавычки. Пример: "Алексей". Целые числа (int)* — числа без дробной части. Пример: 25. Вещественные числа (float)* — числа с плавающей точкой (дробные). В качестве разделителя всегда используется точка, а не запятая. Пример: 1.75.

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

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

    При значении возраста 25 лет, программа умножит его на 12 и выведет результат 300. Если в будущем возраст изменится, нам достаточно будет обновить только одну переменную user_age, и все зависящие от нее вычисления пересчитаются автоматически при следующем запуске программы.

    !Визуализация работы переменных в памяти

    Важно давать переменным осмысленные имена. Имя user_age сразу говорит о том, какие данные хранятся внутри, в то время как имя x или a заставит вас гадать о предназначении переменной при чтении кода спустя неделю.