О разделе
Длинные листинги (от ~15 строк) вынесены в каталог code.spirzen.ru и подгружаются в статьях через ExternalCodeEmbed — так HTML энциклопедии не раздувается, а код остаётся с подсветкой, вкладками и сериями "шаг 1…N". Короткие фрагменты (одна строка, пара выражений) по-прежнему прямо в markdown. Диаграммы mermaid и интерактив — на месте или в play.spirzen.ru.
Python удобен для первого языка: читается почти как текст, много материалов для школ и курсов. Это мультипарадигменный язык общего назначения с динамической строгой типизацией, автоматическим управлением памятью и эталонной реализацией CPython; экосистема пакетов строится вокруг PyPI и pip.
Сначала: Что такое код и как он работает — общая база — код, блок кода, компиляция и интерпретация, исходный, байт- и машинный код; в этом разделе — синтаксис и особенности языка.
Теория и контекст: Python — язык общего назначения · история · Дзен Python · архитектура CPython. Краткие идиоматичные записи — однострочные приёмы (обзор для всех языков — в разделе "Код"). Массовая работа с таблицами (read_csv(chunksize=…), ETL) — Пакетная работа с данными, Pandas.
Статьи раздела объясняют язык и экосистему; при споре о синтаксисе, API библиотеки или флагах CLI сверяйтесь с первоисточником:
Python 3 (RU) · Django · FastAPI · Metanit: Python · подборка документации.
Интерпретатор CPython компилирует модули в байт-код (.pyc) и исполняет его на PVM — см. жизненный цикл кода; память — в архитектуре выполнения, сравнение с Java и Go — шпаргалка GC.
Общие термины — программа и библиотеки.
Теория ОС — процессы и потоки, синхронизация.
В Python: сравнение моделей — асинхронность и многопоточность; углублённо asyncio — основы asyncio.
GIL и runtime — архитектура выполнения.
Сетевой I/O — сетевое программирование и справочник библиотек.
В статьях раздела идеи исполнения (байт-код, модули, исключения) по возможности сначала показываются псевдокодом, затем — синтаксисом Python.
Перед обработкой исключений: общая теория (что такое ошибка, чем она отличается от исключения).
С чего начать
| Шаг | Материал | Зачем |
|---|---|---|
| 1 | Первая программа | Запуск и синтаксис |
| 1b | if name == "main" | Точка входа: прямой запуск и импорт |
| 1a | Зависимости — requirements.txt и pyproject.toml | pip install -r, venv, пример с requests |
| 1ca | Big-O — шпаргалка с примерами | После циклов: O(n), вложенные циклы, set vs list |
| 1c | Алгоритмы на Python — ЕГЭ и олимпиадка | Задачи на ввод-вывод, поиск, ДП |
| 1d | Python — работа с файлами и текстом | open, with, pathlib, CSV, JSON, чтение из файла |
| 1e | Regex — готовые паттерны | Модуль re: email, телефон, лог — с разбором по символам |
| 2 | Flask или Django | Веб с HTML |
| 2a | Справочник по Django после Первая программа на Django | FormSet, CBV, auth, деплой |
| 2b | Практикум — доска объявлений | Сквозной сайт: рубрики, объявления, комментарии |
| 2c | Pydantic — входящие данные | Что такое валидация и схема перед API |
| 3 | DRF или FastAPI | JSON API |
| 4 | Tkinter → Первая программа на Tkinter → Справочник по Tkinter — элементы UI · примеры окон и виджетов | Десктоп; теория — раздел 4.11 |
| 4a | Разработка игр на Python → мини-игры в Lab → Справочник по pygame.sprite → Практикум | Pygame и учебные мини-игры |
| 4a-k | Kivy → Практикум Kivy (2048, Pong, Snake) | Мобильные игры на Python: тач, Clock, APK |
| 4a-mc | Разработка в Minecraft → команды и datapack | Java Edition: чат, scoreboard, .mcfunction — без Pygame |
| 4b | Трёхмерная графика и Panda3D · примеры фигур | 3D-сцены, текстуры, куб из вершин |
| 4b2 | Turtle · примеры фигур | 2D-черепашка на Python |
| 4b3 | Canvas 2D · p5.js в Lab · SVG в Lab | те же фигуры в браузере: Canvas/p5 или векторная разметка |
| 4c | Matplotlib — графики · примеры | Линии, гистограммы, scatter, подграфики |
| 4d | Excel — формулы → Анализ данных — pandas, NumPy · NumPy — примеры · Pandas — типовые операции при анализе данных · примеры Pandas · практикум Pandas Data Viewer | Сначала массивы, затем таблица, CSV, groupby; сквозное GUI-приложение |
| 4d-ml | PyTorch для разработчика → практикум — цифры MNIST на PyTorch · практикум — тональность отзывов | CNN и текст; обучение, сохранение весов |
| 4e | SymPy — уравнения и производные · LaTeX — формулы | Школа и вуз: корни, производные, формулы в отчёте; график f(x) — Matplotlib — графики |
| 5 | pytest | Тесты |
Зачем этот раздел
Подборка по Python в энциклопедии: синтаксис, первая программа и смежные темы. Выберите один язык для старта, пройдите маршрут до первой рабочей программы — затем переходите к следующему языку или стеку.
Частые ошибки при старте
| Ошибка | Что делать |
|---|---|
| Прыжки между языками | Закройте одну "первую программу", потом сравнивайте |
| Код без запуска | Выполните пример локально |
| Сразу большой фреймворк | Сначала база раздела, потом REST/UI |
Что попробовать
- Шаг 1 из таблицы.
- Три непонятных термина — найдите статьи в оглавлении раздела.
- Другой язык — только после своей рабочей первой программы.
Play ITЗагрузка интерактивного демо…
Play ITЗагрузка интерактивного демо…
Play ITЗагрузка интерактивного демо…
Практикум Kivy
4 элемента
Python - язык общего назначения
Python как язык общего назначения - философия, ключевые свойства и области применения в современной разработке.
Что требуется знать перед началом изучения языка программирования Python
Python — это высокоуровневый язык программирования общего назначения, который отличается читаемым синтаксисом и широким спектром применения.
Рекомендации по разработке на Python
Принципы, которые делают код понятным, поддерживаемым и расширяемым.
Простые приложения на Python
Примеры реализации типовых приложений. Каждый пример сопровождается разбором ключевых концепций языка.
Встроенный модуль builtins и типизация в Python
Наверняка каждый новичок, решивший перейти в что-то стандартное в Python, открывает себе этот файл.
Архитектура интерпретатора Python
Как устроен Python, что входит в комплект и какие есть реализации.
Фреймворки и библиотеки Python
Структурные каркасы для построения приложений, как они устроены.
Экосистема Python-приложений
Фреймворки, библиотеки, инструменты сборки, среды выполнения, системы тестирования и специализированные платформы, объединённые общей философией ясности, простоты и гибкости.
Модули в Python
Что такое модули, как устроены механизмы импорта и загрузки.
Виртуальные окружения и управление зависимостями
Управление изолированной средой и зависимостями проекта.
История языка Python
История Python - ключевые этапы развития языка, сообщества и экосистемы инструментов.
Философия Python - Zen of Python
Философия Python не зафиксирована в официальных стандартах, но она глубоко интегрирована в язык, его стандартную библиотеку, документацию и культуру разработчиков.
Первая программа на Python
Гайд по установке и настройке с написанием первой программы и её запуском.
Синтаксис и пунктуация в Python
Синтаксис и пунктуация в Python - правила кавычек, разделителей и оформления выражений для читаемого кода.
Ключевые слова языка Python
Ключевое слово Значение Пример ---------------------------------- import Импорт модуля import math from Импорт конкретных элементов from math import sqrt as Псевдоним при импорте import numpy as np.
Встроенные функции Python
Подготовленные создателями языка наборы возможностей по умолчанию.
Магические методы и дандер-методы
Специальные методы, которые начинаются и заканчиваются двойным подчёркиванием.
Алгоритмы и структуры данных в Python
Как организованы данные, как они обрабатываются и что можно делать с ними.
Типы данных в Python
Типизация, набор правил определения типа данных значений языка.
Переменные и присваивание
Работа с переменными - объявление, присваивание, использование.
Работа с типами данных в Python
Преобразования, базовые и продвинутые операции, примеры.
Коллекции - списки, кортежи, словари, множества
Структуры данных, последовательности, списки и прочие массивы в Python.
Управляющие конструкции - if, for, while
Средства управления последовательностью выполнения инструкций в программе.
Сопоставление с образцом (match / case)
Конструкция match в Python 3.10+ — ветвление по структуре данных, guards и сравнение с if/elif.
Даты и время в Python
Модуль datetime — наивные и осознанные даты, timedelta, парсинг и типичные ошибки часовых поясов.
Функции - определение, аргументы, возврат значений
Именованные и повторяемые блоки кода для выполнения определённой задачи.
Итераторы, генераторы и контекстные менеджеры
Итераторы, генераторы и контекстные менеджеры в Python - ленивые вычисления, управление ресурсами и чистый код.
Объектно-ориентированное программирование в Python
ООП в Python — объекты, классы, duck typing, инкапсуляция по соглашению, наследование и магические методы. Всё в рантайме — объект, включая сами классы.
Архитектура выполнения и сборка мусора
Работа виртуальной машины, основные компоненты, цепочка выполнения скрипта.
Обработка исключений в Python
Что такое исключения, как они устроены, их модель и правила использования.
Распространённые типы исключений
В современных версиях Python (3.10+) структура исключений стабильна, но могут добавляться новые подклассы (например, ModuleNotFoundError был добавлен в Python 3.6).
Асинхронность и многопоточность в Python
Асинхронность и многопоточность в Python, сравнение моделей конкурентности и выбор подхода под тип нагрузки.
Основы asyncio в Python
Корутины, event loop, Task и Future, gather, таймауты, отмена и типичные ошибки при работе с asyncio.
Django в Python
Фреймворк, порядок работы с ним, архитектура и особенности.
Справочник по Django
Шаблоны — это HTML-файлы с встроенными тегами и переменными Django.
Первая программа на Django
Проект, приложение, ORM, шаблоны, формы, админка, тесты и статика — по мотивам официального туториала Django 6.
Первая программа на Django REST Framework
JSON API на DRF — сериализатор, ViewSet, router и проверка через браузер и curl.
Практикум — доска объявлений на Django
Сквозной проект после 3011: рубрики, объявления, комментарии, права и REST на одном Django-проекте.
Работа с файлами, сетью и внешними API
Файловая система, форматы данных, парсинг, веб-запросы и практические сценарии автоматизации файлов.
Tkinter и GUI
Графический интерфейс в Python: полноценное приложение с кнопками, полями ввода, меню и другими элементами управления.
Первая программа на Tkinter
Десктопное окно на Tkinter — виджеты, компоновка pack/grid, события и главный цикл mainloop.
Справочник по Tkinter — элементы UI
Рецепты Tkinter — как добавить окно, Label, Button, Entry, списки, меню и диалоги с примерами кода.
Разработка игр на Python
Разработка игр на Python - использование Pygame, игровой цикл и базовые подходы к интерактивным приложениям.
Справочник по pygame.sprite
Шпаргалка по модулю pygame.sprite — Sprite, Group, коллизии, слои отрисовки и ускорение кадра.
PyQt, PySide и Flet — GUI beyond Tkinter
Qt для Python — теория PyQt и PySide, цикл событий, модули, виджеты, сигналы и слоты, Model–View; сравнение с Tkinter и Flet.
Первая программа на PyQt6
Окно на PyQt6: QApplication, виджеты, сигналы и слоты, разбор конвертера температуры.
Работа с базами данных в Python
DB-API 2.0, драйверы, ORM, миграции, резервное копирование, мониторинг и практика доступа к данным из Python.
Сетевое программирование на Python
Модуль socket, TCP и UDP, клиент-серверные приложения, справочник сетевых библиотек Python и связь с HTTP и asyncio.
Парсинг на Python
Веб-парсинг на Python: urllib, BeautifulSoup, Playwright, Selenium, pathlib, hashlib — архитектура, API и практика.
BeautifulSoup — парсинг HTML
BeautifulSoup (пакет beautifulsoup4, импорт from bs4 import BeautifulSoup) превращает HTML-страницу в дерево объектов, по которому удобно искать теги, классы и атрибуты.
Трёхмерная графика и Panda3D
3D-графика в Python — Panda3D, архитектура движка, модули, ограничения и минимальные примеры сцены, текстур и куба.
Matplotlib — графики
Matplotlib на Python — построение графиков функций, столбцов, scatter и гистограмм; Figure, Axes, pyplot, экспорт и связь с NumPy и Pandas.
Turtle
Черепашья графика, модуль turtle и рисование простых фигур.
Kivy — мобильные приложения и игры на Python
Kivy — кроссплатформенный UI на OpenGL: виджеты, мультитач, Clock, сборка APK; когда выбирать вместо Pygame, Tkinter и Flutter.
Справочник по модулю Turtle
Справочник-шпаргалка по модулю Turtle — типы, синтаксис, стандартная библиотека, типовые паттерны. Не заменяет пошаговое обучение. Учебный курс — раздел.
Анализ данных - pandas, NumPy, SciPy
Анализ данных в Python - связка Pandas, NumPy и SciPy для обработки, вычислений и статистического моделирования.
Pandas — объединение таблиц, своды и временные ряды
Практикум по pandas — loc и iloc, merge, pivot, очистка дубликатов и работа с датами в DataFrame.
Классическое машинное обучение на Python
scikit-learn — подготовка признаков, обучение моделей, метрики и типичный pipeline до глубокого обучения.
PyTorch для разработчика
PyTorch — установка, тензоры, autograd, градиентный спуск, Dataset, сквозной ML-пайплайн и сохранение модели.
Практикум — Pandas Data Viewer
Пошаговый практикум: десктопное приложение на Tkinter и pandas для просмотра CSV и Excel — загрузка, таблица, поиск и описательная статистика.
Практикум — распознавание цифр на PyTorch
Пошаговый практикум: CNN на MNIST, обучение и GUI на Tkinter — рисуете цифру мышью, PyTorch распознаёт её.
Практикум — тональность отзывов на PyTorch
Классификация тональности текста на PyTorch. TF-IDF в sklearn, словарь токенов, nn.Embedding, DataLoader и BCEWithLogitsLoss.
NumPy — массивы, векторы и матрицы
Теоретический хаб NumPy — ndarray, dtype, индексация, конструкторы массивов и линейная алгебра в коде; связь с теорией и Lab 1129.
Веб-разработка и REST API на Python
Веб-разработка и REST API на Python - использование Flask, маршрутизация запросов и построение серверных сервисов.
Flask
Flask - минималистичный Python-фреймворк с расширяемой архитектурой для веб-приложений и API.
Первая программа на Flask
Flask — задачи в браузере, JSON API и сохранение в SQLite через Flask-SQLAlchemy.
Справочник по Flask
Справочник-шпаргалка по Flask — типы, синтаксис, стандартная библиотека, типовые паттерны. Не заменяет пошаговое обучение. Учебный курс — раздел.
Создание собственного API на Python
В Flask используется декоратор app.errorhandler, в DRF — настройка EXCEPTION_HANDLER в конфигурации.
FastAPI
FastAPI — ASGI-фреймворк для API с аннотациями типов, автодокументацией OpenAPI и поддержкой async.
Первая программа на FastAPI
REST API на FastAPI — Pydantic, Uvicorn, JWT-авторизация и тесты.
FastAPI и база данных
Сквозной сценарий — SQLAlchemy 2, сессии, CRUD-эндпоинты, зависимости FastAPI и миграции Alembic.
pyTelegramBot — боты в Telegram
Telegram-боты на Python: pyTelegramBot, команды, клавиатуры, медиа, диалоги, SQLite, внешние API и деплой; обзор python-telegram-bot и aiogram.
Автоматизация задач и DevOps-скрипты
Автоматизация задач и DevOps-скрипты на Python - тестирование, CI-процессы и сценарии операционной рутины.
Справочник по Python
Справочник-шпаргалка по Python — типы, синтаксис, стандартная библиотека, типовые паттерны. Не заменяет пошаговое обучение. Учебный курс — раздел.
Тестирование на pytest
pytest — фикстуры, parametrize, TestClient для FastAPI и организация тестов в Python-проекте.
Однострочные приёмы Python
Десять частых one-liners — обмен переменных, срезы, включения, Counter и join; когда уместны и чем заменить в production-коде.
Зависимости Python — requirements.txt, pyproject.toml и pip
Как объявить requests в requirements.txt, установить через pip install -r и запустить код, который без пакета падает с ModuleNotFoundError.
Poetry и uv — управление зависимостями Python
Poetry и uv — pyproject.toml, lock-файлы, виртуальные окружения и команды add/install/run как современная альтернатива pip и requirements.txt.
Python для ML — мост к PyTorch
Что освоить в Python перед машинным обучением — NumPy, pandas, venv, Jupyter и маршрут к разделу 6 (ИИ) и PyTorch.
if __name__ == "__main__" — точка входа при запуске файла
Как работает переменная __name__, зачем писать if __name__ == "__main__" и чем прямой запуск python script.py отличается от import.
Pydantic — валидация входящих данных
Что такое входящие данные и валидация, как работает Pydantic: схема, приведение типов, ValidationError, модели для API и конфигов.
Python — итоги
Итоги раздела «Python» — FAQ и краткие ответы по теме.
Python — чек-лист
Чек-лист раздела «Python» — вопросы для самопроверки.
Python — о разделе
Python — первый язык, Django, Flask и FastAPI, типизация и автоматизация; сравнение фреймворков и маршрут для новичка и backend.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
Первый коммит — Как работает компьютер — о разделе, Терминал — о разделе, Программа — о разделе, Код — о разделе, Основы работы с Git — о разделе, Разработка и отладка — о разделе.
База программиста — JavaScript — о разделе, Java — о разделе, Low-code и No-code платформы, Документация и инструменты Java (Microsoft), Автоматическое управление памятью, Разработка и отладка — о разделе.
Веб-разработка — Приложение с S3, PostgreSQL и ASP.NET Core Web API, Веб-разработка и REST API на Python, Документация и практика ASP.NET (Microsoft Learn), Социальные сети, ASP.NET - фреймворк для веб-приложений, Low-code и No-code платформы.
Бэкенд и серверная разработка — JavaScript — о разделе, Java — о разделе, SQL — о разделе, Платформа .NET — о разделе, Контейнеризация и оркестрация — о разделе, C# — о разделе.
Также: Соло / инди-разработчик, Аналитика данных.