Справочник по Python
Python по темам: GIL и конкурентность, декораторы, генераторы, запуск своего телеграм-бота — с работающим кодом, замерами и практикой в браузере.
Нужен не разбор, а быстрый ответ? Шпаргалка по Python — синтаксис карточками, и песочница, чтобы проверить код в браузере.
Потоки в Python: threading, start, join, Lock и Event
Как создать поток через Thread(target=, args=), зачем join и daemon, почему исключение в потоке теряется, как поймать гонку данных и остановить поток.
GIL в Python: что это, зачем нужен и как его обойти
Global Interpreter Lock простыми словами: почему CPU-задачи в потоках не ускоряются, а сетевые ускоряются, замеры на Python 3.14 и статус free-threading.
asyncio в Python: корутины, async/await и запуск задач
Почему вызов корутины ничего не запускает, чем create_task отличается от gather и TaskGroup и как один time.sleep внутри корутины останавливает весь цикл.
Python multiprocessing, потоки и asyncio: что выбрать
Когда брать процессы, когда потоки, когда asyncio: развилка на одном примере, multiprocessing по существу, forkserver по умолчанию в 3.14 и живые замеры.
Декораторы в Python: как работают и зачем нужны
Декоратор — функция, которая оборачивает другую функцию. Как разворачивается @, зачем functools.wraps, декораторы с аргументами и классом, порядок применения и типовые ошибки.
Генераторы в Python: yield, ленивые вычисления и итераторы
Как работает yield, чем генераторное выражение отличается от спискового включения, замеры памяти на 10 млн элементов, yield from, send и почему генератор одноразовый.
Как запустить телеграм-бота на Python: токен и первый старт
Токен у @BotFather, переменная окружения на Linux, macOS и Windows, запуск python3 main.py, ошибки 401 и 409 и автозапуск без открытого терминала.
Виртуальное окружение Python: как создать и активировать venv
Команды для создания и активации venv на Windows, macOS и Linux. Разбираем установку пакетов, requirements.txt, .gitignore и частые ошибки.
Изменяемые и неизменяемые типы в Python: mutable vs immutable
list, dict, set меняются на месте, str, tuple, int нет. Разбор через id(), парадокс t[0] += [x], хешируемость и кэш малых int на CPython 3.14.5.
List comprehension в Python: списковые включения с примерами
Как читать генератор списка построчно: цикл, условие, вложенность, dict/set включения, ловушка перезаписи ключей, замер против append и где он не подходит.
Контекстные менеджеры в Python: with, __enter__ и __exit__
Как устроен with python на практике: протокол __enter__/__exit__, свой таймер блока, ловушка return True в __exit__, contextlib и ExitStack на реальных замерах.
Где используется Python: области применения и примеры крупных продуктов
Где применяют Python: бэкенд, данные, ML, автоматизация и тесты. Разбираем примеры Instagram, Netflix, Dropbox, Spotify и Яндекса.
SyntaxError: invalid syntax в Python — причины и исправление
Как читать стрелку в SyntaxError, где искать пропущенную скобку или двоеточие и почему pip install нельзя вводить после >>>. Семь ошибок с исправлениями.
IndentationError: unexpected indent в Python — как исправить
Почему Python выдаёт unexpected indent, expected an indented block, unindent does not match и TabError. Исправляем лишний отступ, табы и пробелы.
uv для Python: установка, зависимости и переход с pip
Как установить uv, создать проект и окружение, добавить зависимости, работать с uv.lock и перенести requirements.txt. Разница между uv add и uv pip.
Как проверить пароль в Python: несколько правил и все ошибки
Как проверить длину пароля, наличие цифр, строчных и заглавных букв в Python, собрать все нарушения и не пропустить границы и Unicode.
Сбалансированные скобки на Python: как работает стек
Почему подсчёта скобок недостаточно, как список становится стеком и какие граничные случаи проверить для круглых, квадратных и фигурных скобок.
Как удалить дубликаты из списка Python и сохранить порядок
Как убрать повторы из списка Python без сортировки: разбираем set, порядок первых появлений, хешируемость и пограничные случаи.
Как перевести секунды в минуты и часы в Python
Как форматировать длительность в Python как M:SS или H:MM:SS: divmod, целочисленное деление, ведущие нули и граница 3600 секунд.