На самом деле есть много данных о том, что вам нужно знать об отступе в Python:
На многих других языках отступы не нужны, но улучшить читаемость. В отступе Python заменяет ключевое слово begin / end
или { }
и поэтому необходимо.
Это проверяется перед выполнением кода, поэтому даже если код с ошибкой отступа никогда не достигнут, он выиграл Работает.
1. «IndentationError: ожидается отложенный блок»
Это две основные причины, по которым вы можете получить такую ошибку:
- У вас есть «:» без отступов.
Вот два примера:
Пример 1 без отступов:
Вход:
if 3 != 4:
print("usual")
else:
Выход:
File "", line 4
^
IndentationError: expected an indented block
На выходе указано, что вам нужно иметь отступы 4-й строки после инструкции else:
Пример 2: незакрепленный блок:
Вход:
if 3 != 4:
print("usual")
Выход
File "", line 2
print("usual")
^
IndentationError: expected an indented block
На выходе указано, что вам нужно иметь отступную линию 2, после if 3 != 4:
- вы используете Python2.x и имеете сочетание вкладок и пробелов:
Вход
def foo():
if 1:
print 1
Обратите внимание, что раньше, если, это вкладка, а перед печатью - 8 пробелов.
Выход:
File "", line 3
print 1
^
IndentationError: expected an indented block
Трудно понять, что здесь происходит, кажется, что есть блок отступа. .. Но, как я уже сказал, я использовал вкладки и пробелы, и вы никогда не должны этого делать.
2. «IndentationError: неожиданный отступ»
Важно блокировать отступ, но только блоки, которые должны быть отступом. Итак, в основном эта ошибка говорит:
- перед вами есть отступы без ":".
Пример:
Вход:
a = 3
a += 3
Выход:
File "", line 2
a += 3
^
IndentationError: unexpected indent
На выходе указано, что он не ожидал отступной строки блока 2, затем вы должны удалить его.
3. «TabError: непоследовательное использование вкладок и пробелов в отступе» (только python3.x)
В конце концов, чтобы вернуться ваша проблема:
Просто посмотрите номер строки ошибки и исправьте ее, используя предыдущую информацию.