Короткий ответ
PEP 8 — это соглашение о кодировании, официальные рекомендации о том, как писать код на Python читаемо: отступы в четыре пробела, длина строк, именование, пробелы вокруг операторов. Соблюдать стиль помогают линтеры вроде Flake8, которые проверяют код, и форматтеры вроде Black, которые сами приводят код к единому виду.
Как это работает подробнее
PEP расшифровывается как Python Enhancement Proposal — официальный документ-предложение по развитию Python; PEP 8 документирует рекомендации по стилю, и в open-source проектах их соблюдение обязательно.
- Содержание PEP 8. Правила описывают отступы (4 пробела), длину строк, именование переменных и функций, пробелы вокруг операторов и другое.
- Линтеры. Flake8 запускается как
flake8 path/to/code/, поддерживает выбор проверок через--select E123,W503и игнорирование через--extend-ignore. - Форматтеры. Black автоматически переформатирует код, давая скорость, детерминированность и минимальные диффы при код-ревью.
- Статический анализ. PyChecker и Pylint ищут баги и проверяют соответствие стандартам.
Пример кода
Проверка стиля и форматирование
flake8 path/to/code/
flake8 --select E123,W503 path/to/code/
black path/to/code/Что использовать на практике
- Проверка перед ревью. Запускай линтер на изменённом коде, чтобы поймать нарушения стиля и мелкие ошибки.
- Единый формат. Подключай Black, чтобы код выглядел одинаково у всех и диффы были маленькими.
- Автоматизация. Встраивай flake8 и black в CI, чтобы стиль проверялся без участия человека.