# Python

> Высокоуровневый язык программирования общего назначения с динамической типизацией и упором на читаемость кода.

Источник: https://llmdocs.ru/wiki/python/ · обновлено 2026-11-09 · лицензия CC BY-SA 4.0

- **Класс языка**: мультипарадигменный (объектно-ориентированный, императивный, функциональный)
- **Появился в**: 1991
- **Автор**: Гвидо ван Россум
- **Разработчик**: Python Software Foundation
- **Расширение файлов**: `.py`, `.pyi`, `.pyc`
- **Выпуск версий**: ежегодно, в октябре (PEP 602)
- **Типизация**: динамическая, строгая, утиная; необязательные аннотации типов
- **Основная реализация**: CPython
- **Другие реализации**: PyPy, MicroPython, GraalPy, Jython
- **Лицензия**: PSF License
- **Сайт**: [python.org](https://www.python.org/)
**Python** (произносится «пайтон», в русской среде часто «питон») — высокоуровневый язык программирования общего назначения с динамической типизацией и автоматическим управлением памятью. Язык ориентирован на читаемость кода: блоки выделяются отступами, а синтаксис намеренно минималистичен. Python применяется в веб-разработке, автоматизации, анализе данных, [машинном обучении](https://llmdocs.ru/wiki/machine-learning.md) и научных вычислениях и стабильно входит в число самых популярных языков мира.

## История

Работу над языком Гвидо ван Россум начал в конце 1989 года в нидерландском исследовательском институте CWI как над преемником учебного языка ABC. Первая публичная версия 0.9.0 вышла в феврале 1991 года.[2] Название взято не от змеи, а от британского комедийного шоу «Летающий цирк Монти Пайтона».

Ключевые вехи:

| Год | Событие |
|---|---|
| 1994 | Python 1.0 |
| 2000 | Python 2.0: сборщик циклических ссылок, списковые включения |
| 2001 | основана некоммерческая Python Software Foundation (PSF) |
| 2008 | Python 3.0 — несовместимая с 2.x версия, исправившая ранние решения (строки Unicode, `print()` как функция) |
| 2019 | управление передано выборному руководящему совету из пяти человек (PEP 13)[4] |
| 2020 | 1 января прекращена поддержка Python 2.7 |

До 2018 года ван Россум носил шуточный титул «великодушного пожизненного диктатора» (BDFL) и принимал окончательные решения по развитию языка. Переход на ветку 3.x растянулся более чем на десятилетие и стал хрестоматийным примером того, насколько дорого обходится нарушение обратной совместимости.

С версии 3.9 выпуски выходят ежегодно в октябре, каждая ветка получает около двух лет исправлений ошибок и ещё три года — исправлений безопасности.[3]

## Особенности языка

Философию языка кратко описывает «Дзен Python» (PEP 20): «явное лучше неявного», «простое лучше сложного», «читаемость имеет значение».[7] Его можно вывести командой `import this`.

- **Отступы как синтаксис.** Вложенность блоков задаётся отступом, а не фигурными скобками; стиль оформления закреплён в [PEP 8](https://llmdocs.ru/wiki/pep-8.md).
- **Динамическая строгая типизация.** Тип связан со значением, а не с переменной, но неявных преобразований вроде `"1" + 1` язык не делает. С версии 3.5 поддерживаются аннотации типов, которые проверяют внешние анализаторы ([mypy и pyright](https://llmdocs.ru/wiki/mypy-pyright.md)).
- **«Батарейки в комплекте».** Обширная стандартная библиотека покрывает работу с файлами, сетью, JSON, регулярными выражениями, многопоточностью и асинхронностью ([asyncio](https://llmdocs.ru/wiki/asyncio.md)).
- **Всё — объект.** Функции, классы и модули являются объектами первого класса, что упрощает [декораторы](https://llmdocs.ru/wiki/decorators.md) и метапрограммирование.
- **Итераторы и генераторы** — ленивые последовательности, см. [Генераторы и итераторы](https://llmdocs.ru/wiki/generators-iterators.md).

Пример:

```python
from collections import Counter

def top_words(text: str, n: int = 3) -> list[tuple[str, int]]:
    words = (w.strip(".,!?").lower() for w in text.split())
    return Counter(w for w in words if w).most_common(n)

print(top_words("Явное лучше неявного. Простое лучше сложного."))
# [('лучше', 2), ('явное', 1), ('неявного', 1)]
```

## Реализации и производительность

Эталонная реализация — [CPython](https://llmdocs.ru/wiki/cpython.md), написанная на C: она компилирует исходный код в байт-код и исполняет его на виртуальной машине. Исторически её главным ограничением была глобальная блокировка интерпретатора (GIL), не позволяющая потокам одновременно исполнять Python-код на разных ядрах (см. [GIL и free-threading (PEP 703)](https://llmdocs.ru/wiki/gil-free-threading.md)).

В последних версиях производительность заметно выросла: проект Faster CPython ускорил интерпретатор начиная с 3.11, в 3.13 появились экспериментальные JIT-компилятор и сборка без GIL,[5] а в 3.14 сборка без GIL получила статус официально поддерживаемой.[6]

Альтернативные реализации: **PyPy** (трассирующий JIT, часто в разы быстрее на «чистом» Python), **MicroPython** (микроконтроллеры), **GraalPy** (JVM/GraalVM).

## Экосистема

Пакеты публикуются в каталоге PyPI и устанавливаются через [pip](https://llmdocs.ru/wiki/pip-pypi.md); проекты изолируют зависимости в [виртуальных окружениях](https://llmdocs.ru/wiki/venv.md), а метаданные описывают в [pyproject.toml](https://llmdocs.ru/wiki/pyproject-toml.md). Набирают популярность быстрые инструменты на Rust: менеджер пакетов [uv](https://llmdocs.ru/wiki/uv.md) и линтер [Ruff](https://llmdocs.ru/wiki/ruff.md).

Основные области и библиотеки:

- данные и наука: [NumPy](https://llmdocs.ru/wiki/numpy.md), [pandas](https://llmdocs.ru/wiki/pandas.md), [Jupyter](https://llmdocs.ru/wiki/jupyter.md);
- машинное обучение: [PyTorch](https://llmdocs.ru/wiki/pytorch.md), [scikit-learn](https://llmdocs.ru/wiki/scikit-learn.md);
- веб: [Django](https://llmdocs.ru/wiki/django.md), [Flask](https://llmdocs.ru/wiki/flask.md), [FastAPI](https://llmdocs.ru/wiki/fastapi.md);
- тестирование: [pytest](https://llmdocs.ru/wiki/pytest.md).

Изменения в языке проходят через процедуру [PEP](https://llmdocs.ru/wiki/pep.md) — документы с обоснованием, обсуждением и решением руководящего совета.

## Критика

Чаще всего Python критикуют за скорость исполнения «чистого» кода (на порядок и более ниже компилируемых языков вроде [Go](https://llmdocs.ru/wiki/go.md) и [Rust](https://llmdocs.ru/wiki/rust.md)), за долгое отсутствие настоящей многопоточности из-за GIL и за исторически запутанную систему упаковки. На практике тяжёлые вычисления выносят в библиотеки на C, C++ или Rust, а Python остаётся «клеем» между ними.

## См. также

- [CPython](https://llmdocs.ru/wiki/cpython.md)
- [asyncio](https://llmdocs.ru/wiki/asyncio.md)
- [PEP 8](https://llmdocs.ru/wiki/pep-8.md)
- [Компилятор и интерпретатор](https://llmdocs.ru/wiki/compiler-interpreter.md)

## Источники

1. [The Python Tutorial](https://docs.python.org/3/tutorial/)
2. [History and License — Python documentation](https://docs.python.org/3/license.html)
3. [PEP 602 — Annual Release Cycle for Python](https://peps.python.org/pep-0602/)
4. [PEP 13 — Python Language Governance](https://peps.python.org/pep-0013/)
5. [PEP 703 — Making the Global Interpreter Lock Optional in CPython](https://peps.python.org/pep-0703/)
6. [What's New in Python 3.14](https://docs.python.org/3/whatsnew/3.14.html)
7. [PEP 20 — The Zen of Python](https://peps.python.org/pep-0020/)
