Блок кода

Модуль 1: Python Core
3 уровень , 6 лекция
Открыта

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 отлично знает об этих проблемах и самостоятельно добавляет нужное количество отступов при переносе кода.

2
Задача
Модуль 1: Python Core, 3 уровень, 6 лекция
Недоступна
Отступник
Отступник
2
Задача
Модуль 1: Python Core, 3 уровень, 6 лекция
Недоступна
Отступник на максималках
Отступник на максималках
Комментарии (9)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Даниил Уровень 5
19 июня 2025
вторая задача вот прям выбесила , до такой степени что взял и переписал код что б задачу зачло чем ковыряться в готов коде и ставить пробелы которые еще компилятору не нравятся
VasliyD Уровень 10
16 апреля 2025
А это нормально, что на премиум-подписке на странице каждой лекции огромные рекламные баннеры с предложением разных курсов?
Artem_B Уровень 4
28 апреля 2025
Предлагают тебе в университет их поступить)
11 марта 2025
Часто выдается Unknow Error. Без объяснения причин
STRIK Уровень 8
9 февраля 2025
первая задача: через пайчарм не пропускало, било ошибки и никаких подсказок к исправлению, через сайт открыл задачку, сразу подтянуло последний результат (который был в пайчарме), просто опять отправил на проверку (на сайте) и все прошло... почему так?
_den Уровень 30
29 января 2025
первую задачу удалось решить только обнулив решение и выбрав готовое правильное, разница только в отсутствии комментариев
Светлана Грень Уровень 4 Expert
25 января 2025
всем привет, а у меня почему в pycharm выполнение не отображается в консоле - я не могу ввести данные с клавы и не могу видеть результат выполнения программы, но задача валидируется и принимается плагином javarush. что делать?
Mr.Robot Уровень 21 Expert
17 декабря 2024
В данном случае в первой задаче с табуляцией решение будет неправильно.
Лина Уровень 44
15 июля 2024
Кстати, не всегда PyCharm добавляет правильное кол-во отступов. Зато подчеркнёт, если что-то ему не понравится :)