Python Documentation
Concise, example-driven Python reference. Read the concept, see the code, then practice it in a Coddy journey.
Start a guided Python journeyНачало работы
- Что такое Python?Понятное введение в Python — что это такое, для чего его используют и почему так много людей выбирают его в качестве первого языка программирования.
- Установка PythonПошаговое руководство по установке Python на любую операционную систему, проверке версии и о том, когда устанавливать вообще ничего не нужно.
- Запуск PythonТри способа запустить Python-код — интерактивная оболочка, сохранённый .py-файл из терминала и редактор — с пояснением, когда выбирать какой.
- Синтаксис PythonМинимальный набор синтаксических правил, которые волнуют Python — отступы, переносы строк, двоеточия и чувствительность к регистру — без жаргона.
- КомментарииКак писать комментарии в Python — однострочные через #, многострочные блоки и docstring-и для документирования функций и модулей.
Переменные и данные
- ПеременныеКак работают переменные в Python — присваивание, правила именования, переприсваивание и ментальная модель, которая убережёт от проблем.
- Типы данныхОбзор встроенных типов данных Python — чисел, строк, булевых, None, списков, кортежей, множеств, словарей — с примерами и подсказками, когда что брать.
- СтрокиРабота с текстом в Python — создание строк, f-строки, срезы и повседневные методы: split, join, replace, strip.
- f-строкиПрактическое руководство по f-строкам в Python — как вставлять переменные и выражения, форматировать числа и даты, и когда имеет смысл взять старые стили форматирования.
- Числа и булевыКак Python обращается с целыми, числами с плавающей точкой и булевыми — арифметика, преобразования и краевые случаи, на которых спотыкаются.
- Ввод и выводКак работают функции print() и input() в Python — плюс разделители, символы конца строки и как преобразовать пользовательский ввод в числа.
Поток управления
- ОператорыПолный обзор операторов Python — арифметических, сравнения, логических, присваивания, принадлежности и идентичности — с примерами каждого.
- if / elif / elseКак работают операторы if, elif и else в Python — включая truthy-значения, вложенные условия и тернарное выражение if.
- Циклы forКак работает цикл for в Python — итерация по спискам, строкам, range, словарям и всему, что итерируемо, плюс break, continue и else.
- Циклы whileКогда выбирать while вместо for, как избегать бесконечных циклов и какие паттерны встречаются чаще всего в реальном коде.
- range()Как работает range() в Python — start, stop, step, отрицательные диапазоны и почему он ленивый, а не создаёт сразу список.
Коллекции
- СпискиРабочий обзор списков Python — самой популярной коллекции — создание, индексирование, срезы, append, sort и паттерны, к которым ты будешь тянуться чаще всего.
- КортежиКогда выбрать кортеж вместо списка — неизменяемость, распаковка, namedtuple и сценарии, ради которых кортежи и существуют.
- МножестваКогда тянуться за множеством — уникальность, быстрые проверки in и математические операции (объединение, пересечение, разность), которые делают множества мощными.
- СловариСловари — это структура Python для поиска по ключу. Единственный тип данных, к которому ты будешь постоянно тянуться после основ.
- List ComprehensionСписковые включения позволяют построить новый список в одну читаемую строку — отобразить, отфильтровать или и то, и другое — заменяя паттерн цикл + append.
Функции и структура
- ФункцииКак определять и использовать функции в Python — параметры, возвращаемые значения, значения по умолчанию, keyword-аргументы и привычки именования, сохраняющие код читаемым.
- *args и **kwargsЧто такое *args и **kwargs, когда их использовать и как чисто пробрасывать аргументы между функциями.
- LambdaЧто такое lambda, для чего она хороша и в каких немногих местах она реально оправдывает себя — и когда лучше взять именованную функцию.
- ДекораторыЧто такое декораторы Python на самом деле, как написать свой и паттерны (аргументы, стекинг, wraps), ради которых к ним стоит тянуться.
- Аннотации типовЧто такое type hints в Python, когда они помогают и как аннотировать переменные, сигнатуры функций, контейнеры и опциональные значения.
- Модули и импортыКак устроена модульная система Python — пишем свои модули, импортируем из них и устанавливаем сторонние пакеты через pip.
- pip и пакетыКак устанавливать, обновлять и удалять Python-пакеты через pip — PyPI, requirements-файлы и как не попасть в ловушку глобальной установки.
- Виртуальные окруженияЧто такое виртуальное окружение, зачем оно каждому реальному Python-проекту и как создавать и управлять ими через встроенный модуль venv.
- Защита __main__Что на самом деле делает `if __name__ == '__main__'`, почему каждый серьёзный Python-скрипт дорастает до этого паттерна и как сделать файл и скриптом, и модулем одновременно.
Продвинутая итерация
- ГенераторыКак генераторы лениво производят значения в Python — ключевое слово `yield`, generator-выражения и когда они бьют обычный список.
- Контекстные менеджерыЧто на самом деле делает оператор `with` — автоматическая уборка для файлов, блокировок, коннектов к БД и всего, что требует надёжного закрытия.
Работа с реальными данными
- Работа с файламиКак читать и писать файлы в Python — оператор with, текстовый и бинарный режимы и более безопасный современный API на базе путей.
- JSONКак читать и писать JSON в Python — loads, dumps, чтение из файла, красивое форматирование и краевые случаи на реальных данных.
- CSV-файлыКак читать и писать CSV в Python — модуль csv, DictReader и DictWriter, заголовки, кавычки и когда стоит переключиться на pandas.
- HTTP-запросыКак делать HTTP-запросы в Python через библиотеку requests — GET, POST, query-параметры, заголовки, JSON-тела и обработка ошибок.
- datetimeПрактический обзор модуля datetime в Python — парсинг, форматирование, арифметика над датами и работа с таймзонами без блужданий.
- RegexПрактическое введение в модуль re — поиск, matching, захватывающие группы, замены и паттерны, к которым будешь тянуться чаще всего.
Ошибки и отладка
- ИсключенияКак обрабатывать ошибки в Python — try/except/finally, ловля конкретных исключений, собственные raise и когда дать ошибке всплыть.
- Типы ошибок и отладкаОбзор ошибок Python, которые встретишь чаще всего — KeyError, ValueError, ModuleNotFoundError, EOFError — и привычки отладки, быстро их чинящие.