Справочник по Python
Python по темам: от циклов и виртуального окружения до декораторов, генераторов и GIL. С работающим кодом, замерами и практикой прямо в браузере.
Нужен не разбор, а быстрый ответ? Шпаргалка по Python — синтаксис карточками, и песочница, чтобы проверить код в браузере.
Найдено материалов: 43
Ничего не найдено. Попробуй другое слово или сбрось поиск.
Основы Python
Циклы в Python: for, while, range, break и continue
Как написать цикл for и while в Python: перебор списка и строки, range и enumerate, break и continue, else у цикла, вложенные циклы и типовые ошибки.
Где используется Python: области применения и примеры
Где применяют Python: бэкенд, данные, ML, автоматизация и тесты. Разбираем примеры Instagram, Netflix, Dropbox, Spotify и Яндекса.
Изменяемые и неизменяемые типы в Python: mutable vs immutable
list, dict, set меняются на месте, str, tuple, int нет. Разбор через id(), парадокс t[0] += [x], хешируемость и кэш малых int на CPython 3.14.5.
Работа с файлами в Python: open, with и кодировка
Как открыть файл через with, прочитать построчно и записать, чем режимы w, a и x отличаются, зачем encoding и почему csv нельзя разбирать через split.
Преобразование типов в Python: int, float и str
Как превратить строку в число и обратно, почему int обрезает дробную часть, что не так с round и 0.1 + 0.2 и какие значения Python считает ложными.
Классы в Python: self, атрибуты, методы и экземпляры
Что такое класс и экземпляр, зачем нужен self и почему он не магия, чем атрибут класса отличается от атрибута экземпляра и когда класс писать не надо.
Функции в Python: def, параметры и return на примерах
Как создать и вызвать функцию Python: параметры, аргументы, return и print, значения по умолчанию, локальные переменные и причины возврата None.
Строки, списки и словари
Списки в Python: методы, индексы и срезы
Как обратиться к элементу списка по индексу, взять срез, добавить и удалить элемент, превратить список в строку через join и не сломать оригинал копией.
Словарь в Python: ключи, значения и методы dict
Как создать словарь, взять значение по ключу без KeyError через get, добавить и удалить элемент, обойти ключи и значения и работать со списком словарей.
List comprehension в Python: списковые включения с примерами
Как читать генератор списка построчно: цикл, условие, вложенность, dict/set включения, ловушка перезаписи ключей, замер против append и где он не подходит.
Сортировка списка в Python: sorted, key и reverse
Как отсортировать список по своему признаку через key, задать несколько уровней, развернуть порядок и почему reverse=True и срез дают разный результат.
Методы строк в Python: strip, replace, upper и find
Как привести строку к нужному регистру, убрать пробелы через strip, заменить часть через replace, найти подстроку и почему строка не меняется на месте.
f-строки в Python: форматирование и вывод чисел
Как подставить значение в текст через f-строку, округлить число, выровнять колонку, вывести проценты и разряды и чем f-строка отличается от format и %.
Регулярные выражения в Python: модуль re и шаблоны
Как искать по шаблону через re: search и match, findall и sub, группы и жадность, зачем сырые строки и когда регулярное выражение вообще не нужно.
JSON в Python: dumps и loads, файлы и разбор ошибок
Чем dumps отличается от dump, как читать и писать JSON-файл, почему кириллица уезжает в \uXXXX, что делать с datetime и Decimal и как читать JSONDecodeError.
Множества set в Python: пересечение, объединение и разность
Как создавать множества Python, добавлять и удалять элементы, находить пересечение и разность наборов. Примеры set, frozenset, add, discard и remove.
Дата и время
datetime в Python: дата, время и форматирование
Как получить текущую дату, превратить datetime в строку через strftime и обратно, посчитать разницу дат, прибавить дни и не спутать naive с aware.
Как перевести секунды в минуты и часы в Python
Как форматировать длительность в Python как M:SS или H:MM:SS: divmod, целочисленное деление, ведущие нули и граница 3600 секунд.
Продвинутые конструкции
Декораторы в Python: как работают и зачем нужны
Декоратор — функция, которая оборачивает другую функцию. Как разворачивается @, зачем functools.wraps, декораторы с аргументами и классом, порядок применения и типовые ошибки.
Генераторы в Python: yield, ленивые вычисления и итераторы
Как работает yield, чем генераторное выражение отличается от спискового включения, замеры памяти на 10 млн элементов, yield from, send и почему генератор одноразовый.
Контекстные менеджеры в Python: with, __enter__ и __exit__
Как устроен with python на практике: протокол __enter__/__exit__, свой таймер блока, ловушка return True в __exit__, contextlib и ExitStack на реальных замерах.
Паттерны проектирования в Python
Восемь самых ходовых паттернов на одном примере интернет-магазина: стратегия, фабрика, одиночка, наблюдатель, декоратор, адаптер, фасад, команда. Со схемами, работающим кодом и честным «когда паттерн лишний».
dataclass в Python: что это и как использовать
Что даёт декоратор dataclass, почему изменяемое значение по умолчанию запрещено, зачем default_factory и frozen и когда обычный словарь подойдёт лучше.
*args и **kwargs в 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: как создать и активировать venv
Команды для создания и активации venv на Windows, macOS и Linux. Разбираем установку пакетов, requirements.txt, .gitignore и частые ошибки.
uv для Python: установка, замена pip и venv, первые команды
uv объединяет venv, pip и выбор версии Python: одна команда ставит пакет, обновляет uv.lock и окружение. Как установить uv и перейти с requirements.txt.
Как запустить телеграм-бота на Python: токен и первый старт
Токен у @BotFather, переменная окружения на Linux, macOS и Windows, запуск python3 main.py, ошибки 401 и 409 и автозапуск без открытого терминала.
Requests в Python: GET, POST, JSON и тайм-ауты
Как отправлять HTTP-запросы через Python Requests: params, JSON в POST, status_code, timeout и обработка ошибок. Полный пример с локальным учебным API.
Ошибки и исключения
try/except в Python: обработка исключений
try/except в Python на работающих примерах: как поймать конкретную ошибку, использовать else, finally и raise, повторить действие и не скрыть исключение.
TypeError и ValueError в Python: чем отличаются
TypeError — не тот тип, ValueError — тот тип, но негодное значение. Правило, которое предсказывает ошибку заранее, и таблица частых сообщений с разбором каждого.
SyntaxError: invalid syntax в Python — причины и исправление
Как читать стрелку в SyntaxError, где искать пропущенную скобку или двоеточие и почему pip install нельзя вводить после >>>. Семь ошибок с исправлениями.
IndentationError: unexpected indent в Python — как исправить
Почему Python выдаёт unexpected indent, expected an indented block, unindent does not match и TabError. Исправляем лишний отступ, табы и пробелы.
ModuleNotFoundError: No module named в Python — как найти причину
Как диагностировать ModuleNotFoundError: проверить точное имя, интерпретатор, venv, установку, sys.path и структуру локального пакета — без случайных пакетов из PyPI.
ImportError: cannot import name в Python — циклический и относительный импорт
Как исправить ImportError: cannot import name: найти неверное имя, распутать циклический импорт и починить относительный запуск.
AttributeError: object has no attribute в Python — как проверить тип и имя
Практическая диагностика AttributeError в Python: читаем traceback, проверяем runtime type, NoneType, имя, __init__, property, модуль и безопасно исследуем атрибуты.
NameError и UnboundLocalError в Python: области видимости LEGB и nonlocal
Как найти причину name is not defined и cannot access local variable: поиск LEGB, локальные присваивания, global, nonlocal и безопасные исправления.
Разбор задач
Как проверить пароль в Python: несколько правил и все ошибки
Как проверить длину пароля, наличие цифр, строчных и заглавных букв в Python, собрать все нарушения и не пропустить границы и Unicode.
Сбалансированные скобки на Python: как работает стек
Почему подсчёта скобок недостаточно, как список становится стеком и какие граничные случаи проверить для круглых, квадратных и фигурных скобок.
Как удалить дубликаты из списка Python и сохранить порядок
Как убрать повторы из списка Python без сортировки: разбираем set, порядок первых появлений, хешируемость и пограничные случаи.