← Все вопросы
IndentationError: unexpected indent — откуда лишний отступ?
7
У меня обратная проблема: Python пишет IndentationError: unexpected indent, хотя я ничего такого не делал. Просто скопировал строку, и теперь не запускается. Почему отступ «неожиданный» и как убрать ошибку?
1 ответ
11
✓ Принятый ответ — помог автору
unexpected indent означает: строка сдвинута вправо, а никакого блока для неё не открыто. То есть отступ есть, а заголовка с двоеточием выше — нет.
Пример:
x = 5
print(x) # лишний отступ, выше нет if/for/def
Исправление — убрать сдвиг:
x = 5
print(x)
Частые причины:
- Случайный пробел/Tab в начале строки (часто после копипасты).
- Смешали табы и пробелы — глазами выглядит ровно, а Python считает иначе.
- Сдвинули строку, думая, что она внутри
if, хотя блок уже закончился.
Лайфхак: включите в редакторе отображение невидимых символов (whitespace), чтобы увидеть лишние пробелы и табы. Ещё помогает «выделить всё → конвертировать табы в пробелы». В нормальном коде на одном уровне у всех строк должно быть одинаковое число пробелов слева.
Ваш ответ
, чтобы ответить на вопрос.