7.1 Важность отступов
Иногда вам нужно сгруппировать несколько команд в группу. Такую группу называют блоком команд или просто блоком кода. В Python блоки кода определяются с помощью отступов, что делает структуру программы чистой и читаемой.
В отличие от многих других языков программирования, где блоки кода обозначаются скобками или ключевыми словами, Python использует отступы для разграничения последовательностей инструкций, что называется блочной структурой.
Теоретически отступы могут быть выполнены с использованием пробелов или табуляции. Однако PEP 8, официальное руководство по стилю написания кода на Python, рекомендует использовать 4 пробела для одного уровня отступа. Важно использовать единый стиль отступов во всём коде.
Структура блоков:
Блок кода начинается с инструкции,за которой следует
двоеточие (например, if
,
for
, while
, def
, class
)
и отступ на следующей строке.
Все инструкции с одинаковым уровнем отступа считаются частью одного
блока.
Отступы влияют на то, как Python интерпретирует код. Неправильное использование отступов может привести к IndentationError или изменить логику программы.
7.2 Одинаковое количество отступов
Очень важно, чтобы у блоков кода было одинаковое количество отступов. Поэтому очень не рекомендуется смешивать символы табуляции и пробелы. Некоторые редакторы отображают символ табуляции как 8 пробелов, другие — как 4. Это может привести к ошибкам.
PyCharm решает эту проблему просто: он вставляет 4 пробела каждый раз, когда вы нажимаете кнопку TAB на клавиатуре. Нет символов табуляции — нет проблем.
Пример:
Неправильно | Правильно |
|
|
Когда есть несколько вложенных if-ов, то ошибку допустить очень легко:
Неправильно | Правильно |
|
|
Вам нужно четко понимать к какому if
’у относиться
else
, иначе вы рискуете неправильно расставить отступы и получить
программу, которая делает совсем не то, что вам хотелось.
Особенно часто эту ошибку делают новички, когда решают готовый кусок кода
занести под if
. Или перенести блок кода из одного места в
другое, где должно быть иное количество отступов.
Пользуйтесь PyCharm: эта IDE отлично знает об этих проблемах и самостоятельно добавляет нужное количество отступов при переносе кода.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ