Добавить в корзинуПозвонить
Найти в Дзене
PythonTalk

Табы или пробелы: вечный спор

Казалось бы, какая разница, чем ставить отступы в коде? Главное, чтобы работало. Но это один из тех споров, который жил, жив и будет жить. Насколько всё может быть серьезно, гениально показано в культовой сцене из сериала «Кремниевая долина». Если вы ее еще не видели — обязательно посмотрите. Чтобы раз и навсегда (нет) покончить с этим, я подготовил серию наглядных карточек 👇🏻 Если в большинстве языков программирования отступы — это просто вопрос красоты, то в Python всё иначе. Здесь отступы — это часть синтаксиса. Именно по ним интерпретатор понимает, где начинается и заканчивается тело функции или цикла. Ошибся с отступом — получил IndentationError и пошёл дебажить. В сцене из сериала мы слышим почти все классические аргументы. Давайте их разложим по полочкам. Лагерь Ричарда (адепты табов): Лагерь его девушки (последователи пробелов): Как мы видим, конфликт привел к разрыву. А всего-то нужно было договориться. Для этого и существуют простые правила. Ключевая мысль здесь — консисте
Оглавление

Казалось бы, какая разница, чем ставить отступы в коде? Главное, чтобы работало. Но это один из тех споров, который жил, жив и будет жить.

Насколько всё может быть серьезно, гениально показано в культовой сцене из сериала «Кремниевая долина». Если вы ее еще не видели — обязательно посмотрите.

Пробелы вместо табуляции [Кремниевая долина]

Чтобы раз и навсегда (нет) покончить с этим, я подготовил серию наглядных карточек 👇🏻

Почему в Python это вообще важно?

Если в большинстве языков программирования отступы — это просто вопрос красоты, то в Python всё иначе. Здесь отступы — это часть синтаксиса. Именно по ним интерпретатор понимает, где начинается и заканчивается тело функции или цикла. Ошибся с отступом — получил IndentationError и пошёл дебажить.

-2

Аргументы сторон: за что воевали в «Кремниевой долине»?

В сцене из сериала мы слышим почти все классические аргументы. Давайте их разложим по полочкам.

Лагерь Ричарда (адепты табов):

-3
-4

Лагерь его девушки (последователи пробелов):

-5

Финальный вердикт: кто был прав в этом споре?

Как мы видим, конфликт привел к разрыву. А всего-то нужно было договориться. Для этого и существуют простые правила.

-6

Ключевая мысль здесь — консистентность. Если вы работаете в команде, ваши личные предпочтения не имеют никакого значения. Делайте так, как принято в проекте.

А главный стандарт для всего Python-сообщества, PEP 8, говорит нам прямым текстом:

Используйте 4 пробела на каждый уровень отступа. Пробелы — предпочтительный метод расстановки отступов.

Лайфхак, который спас бы отношения Ричарда

Спорить и что-то доказывать в 2025 году уже смешно. Современные редакторы кода (IDE) позволяют решить эту проблему. Вы можете настроить свою IDE так, чтобы по нажатию клавиши Tab она автоматически вставляла 4 пробела.

Вы получаете удобство от нажатия одной кнопки и одновременно пишете код по стандарту. Профит! А инструменты вроде black или ruff вообще отформатируют ваш код автоматически при сохранении.

Так что хватит ломать копья и отношения. Настройте свой редактор и пишите чистый, консистентный код.

А вы на какой стороне в этом вечном противостоянии? Делитесь своим мнением в комментариях, ставьте лайк, если статья была полезной, и подписывайтесь на канал!