Что делать с «Неожиданным отступом» в python? - PullRequest
102 голосов
/ 19 июня 2009

Как исправить ошибку «неожиданный отступ» в python?

Ответы [ 15 ]

2 голосов
/ 19 июня 2009

Если отступ выглядит нормально, посмотрите, есть ли в вашем редакторе опция «Просмотр пробелов». Включение этого должно позволить найти, где пробелы и вкладки смешаны.

1 голос
/ 22 апреля 2018

Все, что вам нужно сделать, это удалить пробелы или символы табуляции в начале следующих кодов

from django.contrib import admin

# Register your models here.
from .models import Myapp
admin.site.register(Myapp)
1 голос
/ 05 февраля 2018

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

Например, возьмите следующий скрипт:

def add_one(x):
    try:
        return x + 1
add_one(5)

Возвращает IndentationError: unexpected unindent, если проблема, конечно, в пропущенном except: утверждении.

Моя точка зрения: проверьте код выше, где сообщается о неожиданном (не) отступе!

1 голос
/ 18 сентября 2014

Notepad ++ правильно отображал пространство табуляции, но проблема с отступом была, наконец, найдена в текстовом редакторе Sublime.

Используйте Sublime text editor и переходите строка за строкой

0 голосов
/ 16 апреля 2019

Отступ в Python важен, и это просто не для удобства чтения кода, в отличие от многих других языков программирования. Если между последовательными командами в вашем коде есть пробел или табуляция, python выдаст эту ошибку, так как Python чувствителен к этому. Мы, вероятно, получим эту ошибку, когда будем копировать и вставлять код в любой Python. Убедитесь, что идентифицировали и удалили эти пробелы с помощью текстового редактора, такого как Notepad ++, или вручную удалите пробелы из строки кода, в которой вы получаете ошибку.

Step1 :Gives error 
L = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]
print(L[2: ])

Step2: L = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]print(L[2: ])

Step3: No error after space was removed
L = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]
print(L[2: ])
OUTPUT: [[7, 8, 9, 10]]

Спасибо!

...