← Все вопросы

IndentationError: unexpected indent — откуда лишний отступ?

Задан 11 месяцев назад490 просмотров1 ответ
7

У меня обратная проблема: Python пишет IndentationError: unexpected indent, хотя я ничего такого не делал. Просто скопировал строку, и теперь не запускается. Почему отступ «неожиданный» и как убрать ошибку?

1 ответ

11
✓ Принятый ответ — помог автору

unexpected indent означает: строка сдвинута вправо, а никакого блока для неё не открыто. То есть отступ есть, а заголовка с двоеточием выше — нет.

Пример:

x = 5
    print(x)    # лишний отступ, выше нет if/for/def

Исправление — убрать сдвиг:

x = 5
print(x)

Частые причины:

  1. Случайный пробел/Tab в начале строки (часто после копипасты).
  2. Смешали табы и пробелы — глазами выглядит ровно, а Python считает иначе.
  3. Сдвинули строку, думая, что она внутри if, хотя блок уже закончился.

Лайфхак: включите в редакторе отображение невидимых символов (whitespace), чтобы увидеть лишние пробелы и табы. Ещё помогает «выделить всё → конвертировать табы в пробелы». В нормальном коде на одном уровне у всех строк должно быть одинаковое число пробелов слева.

Ваш ответ

, чтобы ответить на вопрос.