Знакомство с языком

Что такое Python

Python – универсальный язык программирования высокого уровня с акцентом на читаемость кода и простоту. Он интерпретируемый: программа выполняется построчно без предварительной компиляции в машинный код. Это ускоряет разработку и отладку.

Python используют в веб-разработке, анализе данных, машинном обучении, автоматизации и научных расчётах. Синтаксис близок к естественному языку, поэтому порог входа ниже, чем у многих других языков.

Язык распространяется свободно (лицензия Python Software Foundation). Установить его можно на Windows, macOS и Linux; для обучения и работы этого достаточно.

Александр
Идём дальше!
История Python

Как появился Python

Язык создал голландский разработчик Гвидо ван Россум (Guido van Rossum). Работа над ним началась в конце 1989 года в центре CWI в Нидерландах. Первая публичная версия (0.9.0) вышла в 1991 году.

Название «Python» не связано с змеёй: Гвидо назвал проект в честь комедийного шоу «Monty Python's Flying Circus». Философия языка – читаемость, явность лучше неявности, простота.

С 2001 года развитие координирует некоммерческая организация Python Software Foundation (PSF). Сейчас активно поддерживаются ветки 3.x; версия 2.x официально снята с поддержки.

История Python

Важные вехи развития

Python 2.0 вышел в 2000 году и принёс списковые включения (list comprehensions) и сборщик мусора. Python 3.0 (2008) – намеренно несовместимый с веткой 2.x: улучшена согласованность типов и убраны дублирующие конструкции.

Сейчас стандартом де-факто является Python 3. Новые версии выходят регулярно (3.10, 3.11, 3.12 и далее), с улучшениями производительности и новыми возможностями. Изучать имеет смысл именно Python 3.

Мария
То есть везде сейчас пишут на третьей версии?
Преимущества Python

Почему Python так популярен

Читаемый синтаксис сокращает время на понимание чужого кода и обучение. Отступы (пробелы) задают блоки кода – нет лишних скобок, код выглядит аккуратно. «Читаемость имеет значение» – один из принципов Zen of Python.

Большая стандартная библиотека и огромная экосистема пакетов (PyPI) позволяют не писать с нуля то, что уже реализовано. Установка пакетов одной командой (pip install) упрощает жизнь.

Кроссплатформенность: один и тот же код обычно работает в Windows, macOS и Linux. Это удобно и для разработки, и для развёртывания.

Преимущества Python

Ещё плюсы языка

Динамическая типизация: не нужно объявлять тип переменной заранее. Интерпретатор сам определяет тип во время выполнения. Это ускоряет прототипирование, хотя в больших проектах часто используют аннотации типов (type hints) для ясности.

Активное сообщество и обилие обучающих материалов – от официальной документации до курсов и книг. Найти ответ на вопрос или пример кода обычно несложно.

Python подходит и для коротких скриптов, и для крупных приложений. Компании вроде Google, Netflix, Instagram, Spotify используют Python в своих продуктах.

Проверьте понимание

Задание 1. Восстановите хронологию

Расставьте события в правильном порядке (сверху вниз).

Начало разработки Гвидо ван Россумом Публикация Python 0.9.0 Выход Python 2.0 Выход Python 3.0 Современные версии Python 3.x

Задание 2. Выберите верные утверждения о Python

Задание 3. Какой веткой версий стоит пользоваться сегодня?

Области применения

Где используют Python в мире

Веб-разработка: бэкенд сайтов и API на Django, FastAPI, Flask. Сервисы авторизации, базы данных, REST API – всё это часто пишут на Python. Instagram, Pinterest и многие стартапы строят бэкенд на Python.

Наука и данные: анализ данных (Pandas, NumPy), визуализация (Matplotlib, Seaborn), машинное обучение (scikit-learn, TensorFlow, PyTorch). Python – один из главных языков в data science и ML.

Автоматизация: скрипты для системных задач, парсинг веб-страниц, работа с файлами и API. DevOps и тестирование (pytest, Selenium) тоже часто на Python.

Дмитрий
Ок, дальше.
Области применения

Ещё сферы применения

Образование: во многих вузах и курсах Python – первый язык. Простой синтаксис и быстрый старт помогают сосредоточиться на логике, а не на деталях языка.

Встраивание и расширение: Python можно встраивать в приложения на C/C++ или вызывать из других языков. Многие программы (Blender, GIMP, LibreOffice) поддерживают скрипты на Python.

Универсальность – причина того, что Python годами лидирует в рейтингах популярности (TIOBE, Stack Overflow и др.).

Библиотеки и фреймворки

Веб-фреймворки

Django – полноценный фреймворк «из коробки»: админка, ORM, маршрутизация, формы, безопасность. Подходит для крупных проектов и быстрого старта. Используется в Instagram, Spotify, Mozilla.

FastAPI – современный фреймворк для API: высокая скорость, автоматическая документация (OpenAPI), поддержка асинхронности. Популярен для микросервисов и бэкенда приложений.

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

Библиотеки и фреймворки

Данные и научные расчёты

NumPy – основа для численных вычислений: многомерные массивы, линейная алгебра, быстрые операции. Используется внутри многих других библиотек.

Pandas – работа с табличными данными (DataFrame): загрузка CSV/Excel, фильтрация, группировка, сводки. Стандарт в аналитике данных.

Matplotlib и Seaborn – построение графиков и визуализация. SciPy – научные вычисления (оптимизация, статистика, интеграция). Вместе они покрывают большинство задач анализа данных.

Библиотеки и фреймворки

Машинное обучение и ещё библиотеки

scikit-learn – классическое ML: классификация, регрессия, кластеризация, предобработка данных. Удобный API и обширная документация.

TensorFlow и PyTorch – глубокое обучение и нейросети. Используются в исследованиях и промышленности (распознавание образов, NLP, рекомендации).

requests – простые HTTP-запросы к API и сайтам. pytest – тестирование кода. Beautiful Soup, Scrapy – парсинг HTML. Эти инструменты встречаются в повседневной разработке по всему миру.

Проверьте понимание

Задание 4. Соотнесите инструмент и назначение

Django
Pandas
NumPy
FastAPI
pytest

Задание 5. В каких областях Python особенно силён? (несколько вариантов)

Возможности языка

Что умеет Python «из коробки»

Стандартная библиотека Python огромна: работа с файлами, сетевыми запросами, датой и временем, регулярными выражениями, JSON, XML, архивами, многопоточностью. Много задач решаются без установки сторонних пакетов.

Язык поддерживает процедурный, объектно-ориентированный и в значительной степени функциональный стиль. Можно писать небольшие скрипты или большие приложения с классами и модулями.

Интерактивный режим (REPL) позволяет вводить команды по одной и сразу видеть результат – удобно для экспериментов.

Возможности языка

Пример: первая программа

Классический пример – вывод фразы на экран. В Python это одна строка:

print("Привет, мир!")

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

Александр
Прям одна строка – круто.
Возможности языка

Переменные и типы

Переменная создаётся присваиванием: name = "Python". Тип объявлять не нужно – интерпретатор определяет его сам. Можно хранить числа (целые и дробные), строки, списки, словари и другие объекты.

Пример с переменной и выводом:

language = "Python" print("Я изучаю", language)

Поняв переменные и print, можно переходить к условиям, циклам и функциям.

Среда и запуск

Как запускать Python-код

Установив Python с официального сайта python.org, вы получаете интерпретатор и REPL. В терминале команда python (или python3) запускает интерактивный режим; python script.py – выполняет файл.

Для разработки часто используют редакторы и IDE: VS Code, PyCharm, Sublime Text. Они подсвечивают синтаксис, подсказывают код и позволяют запускать программы в один клик.

Виртуальное окружение (venv) изолирует зависимости проекта от системы. Создаётся командой python -m venv myenv и активируется перед установкой пакетов. Так проект не конфликтует с другими.

Итог занятия

Краткое резюме

Python – популярный универсальный язык с простым синтаксисом и богатой экосистемой. Он подходит для веба, данных, ML, автоматизации и обучения. История началась с Гвидо ван Россума в 1991 году; сегодня стандарт – Python 3.

Ключевые инструменты мира Python: Django, FastAPI, Flask для веба; NumPy, Pandas для данных; scikit-learn, TensorFlow, PyTorch для ML; requests, pytest и многие другие в повседневной разработке.

Следующий шаг – установить Python, написать первую программу и постепенно осваивать типы данных, циклы и функции.

Сравнение языков

Python: преимущества и недостатки

По сравнению с Node.js и PHP у Python есть сильные стороны и ограничения.

В чём Python лучше: непревзойдённая экосистема для анализа данных, машинного обучения и научных расчётов (NumPy, Pandas, scikit-learn, TensorFlow) - ни Node.js, ни PHP с этим не конкурируют. Читаемый синтаксис и низкий порог входа делают Python идеальным первым языком и выбором для быстрых прототипов. Универсальность: один язык и для скриптов, и для веба, и для ML. В веб-разработке Django и FastAPI дают строгую структуру и удобный ORM.

Недостатки: глобальная блокировка интерпретатора (GIL) ограничивает настоящий параллелизм потоков — для CPU-bound задач это минус по сравнению с однопоточным Node.js (у которого есть способы обойти это ограничение: воркеры, кластеризация) или с многопроцессностью. В сценариях real-time с тысячами одновременных соединений Node.js часто эффективнее. Python не работает в браузере - в отличие от JavaScript (Node.js), который один и на клиенте, и на сервере. Производительность «из коробки» ниже, чем у скомпилированных языков и у оптимизированного PHP 8.

Проверьте понимание

Задание 6. Расставьте по порядку шаги начала работы с Python

Установить Python с python.org Выбрать редактор или IDE Создать файл .py Написать код (например print) Запустить: python script.py

Задание 7. Что выведет эта строка? print("Привет", "мир")

Задание 8. Для изоляции зависимостей проекта используют:

Финальная проверка перед тестом

Задание 9. Выберите все верные утверждения

Задание 10. Кто создал Python?

Итоговый тест

10 вопросов. Минимум 80% (8 из 10) для перехода к практике.

1. В каком году вышла первая публичная версия Python?

2. Какой фреймворк подходит для полноценного веб-приложения «из коробки»?

3. Библиотека для работы с табличными данными (DataFrame):

4. Python – компилируемый или интерпретируемый язык?

5. Команда для установки пакета из PyPI:

6. Что выведет print(2 + 3)?

7. Для машинного обучения часто используют:

8. Блоки кода в Python выделяются:

9. Какой фреймворк популярен для быстрого создания API?

10. Стандарт для новых проектов сегодня: