7.1 Важность отступов

Иногда вам нужно сгруппировать несколько команд в группу. Такую группу называют блоком команд или просто блоком кода. В Python блоки кода определяются с помощью отступов, что делает структуру программы чистой и читаемой.

В отличие от многих других языков программирования, где блоки кода обозначаются скобками или ключевыми словами, Python использует отступы для разграничения последовательностей инструкций, что называется блочной структурой.

Теоретически отступы могут быть выполнены с использованием пробелов или табуляции. Однако PEP 8, официальное руководство по стилю написания кода на Python, рекомендует использовать 4 пробела для одного уровня отступа. Важно использовать единый стиль отступов во всём коде.

Структура блоков:

Блок кода начинается с инструкции,за которой следует двоеточие (например, if, for, while, def, class) и отступ на следующей строке. Все инструкции с одинаковым уровнем отступа считаются частью одного блока.

Отступы влияют на то, как Python интерпретирует код. Неправильное использование отступов может привести к IndentationError или изменить логику программы.

7.2 Одинаковое количество отступов

Очень важно, чтобы у блоков кода было одинаковое количество отступов. Поэтому очень не рекомендуется смешивать символы табуляции и пробелы. Некоторые редакторы отображают символ табуляции как 8 пробелов, другие — как 4. Это может привести к ошибкам.

PyCharm решает эту проблему просто: он вставляет 4 пробела каждый раз, когда вы нажимаете кнопку TAB на клавиатуре. Нет символов табуляции — нет проблем.

Пример:

Неправильно Правильно

x = 10
if x > 5:
print("x больше 5")  # Неправильный отступ
else:
print("x не больше 5")  # Неправильный отступ

x = 10
if x > 5:
    print("x больше 5")  # Правильный отступ
else:
    print("x не больше 5")  # Правильный отступ

Когда есть несколько вложенных if-ов, то ошибку допустить очень легко:

Неправильно Правильно

x = 20
y = 30
if x > 10:
    if y > 20:
    print("y больше 20")  # Неправильный отступ
else:
    print("x не больше 10")  # Неправильный отступ

x = 20
y = 30
if x > 10:
    if y > 20:
        print("y больше 20")  # Правильный отступ
else:
    print("x не больше 10")  # Правильный отступ

Вам нужно четко понимать к какому if’у относиться else, иначе вы рискуете неправильно расставить отступы и получить программу, которая делает совсем не то, что вам хотелось.

Особенно часто эту ошибку делают новички, когда решают готовый кусок кода занести под if. Или перенести блок кода из одного места в другое, где должно быть иное количество отступов.

Пользуйтесь PyCharm: эта IDE отлично знает об этих проблемах и самостоятельно добавляет нужное количество отступов при переносе кода.

undefined
2
Задача
Модуль 1: Python Core, 3 уровень, 6 лекция
Недоступна
Отступник
Отступник
undefined
2
Задача
Модуль 1: Python Core, 3 уровень, 6 лекция
Недоступна
Отступник на максималках
Отступник на максималках