Unexpected indent python что значит

Python IndentationError: unexpected indent (How to Fix This Stupid Bug)

The error IndentationError: unexpected indent arises if you use inconsistent indentation of tabs or whitespaces for indented code blocks such as the if block and the for loop. For example, Python will throw an indentation error, if you use a for loop with three whitespace characters indentation for the first line, and one tab character indentation of the second line of the loop body. To fix the error, use the same number of empty whitespaces for all indented code blocks.

Unexpected indent python что значит. image 111. Unexpected indent python что значит фото. Unexpected indent python что значит-image 111. картинка Unexpected indent python что значит. картинка image 111

Let’s have a look at an example where this error arises:

The first line in the loop body uses two whitespaces as indentation level. The second line in the loop body uses three whitespace characters as indentation level. Thus, the indentation blocks are different for different lines of the same block. However, Python expects that all indented lines have structurally the same indentation.

How to Fix Python’s Indentation Error?

To fix the error, simply use the same number of whitespaces for each line of code:

The general recommendation is to use four single whitespace characters ‘ ‘ for each indentation level. If you have nested indentation levels, this means that the second indentation level has 4+4=8 single whitespace characters:

Mixing Tabs and Whitespace Characters Often Causes The Error

A common problem is also that the indentation seems to be consistent—while it really isn’t. The following code has one tab character in the first line and four empty whitespaces in the second line of the indented code block. They look the same but Python still throws the indentation error.

Unexpected indent python что значит. indentationerror. Unexpected indent python что значит фото. Unexpected indent python что значит-indentationerror. картинка Unexpected indent python что значит. картинка indentationerror

Try It Yourself: Before I tell you what to do about it, try to fix the code yourself in our interactive Python shell:

Exercise: Fix the code in the interactive code shell to get rid of the error message.

Do you want to develop the skills of a well-rounded Python professional—while getting paid in the process? Become a Python freelancer and order your book Leaving the Rat Race with Python on Amazon (Kindle/Print)!

Unexpected indent python что значит. final cover. Unexpected indent python что значит фото. Unexpected indent python что значит-final cover. картинка Unexpected indent python что значит. картинка final cover

How to Fix The Indentation Error for All Times?

The source of the error is often the misuse of tabs and whitespace characters. In many code editors, you can set the tab character to a fixed number of whitespace characters. This way, you essentially never use the tabular character itself. For example, if you have the sublime text editor, the following quick tutorial will ensure that you never run in this error ever again:

Where to Go From Here?

Enough theory, let’s get some practice!

To become successful in coding, you need to get out there and solve real problems for real people. That’s how you can become a six-figure earner easily. And that’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?

Practice projects is how you sharpen your saw in coding!

Do you want to become a code master by focusing on practical code projects that actually earn you money and solve problems for people?

Then become a Python freelance developer! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.

Join my free webinar “How to Build Your High-Income Skill Python” and watch how I grew my coding business online and how you can, too—from the comfort of your own home.

Источник

Python indentationError: неожиданный отступ (как исправить эту глупую ошибку)

Если вы похожи на меня, вы сначала попробуйте все в своем коде и исправить ошибки, как они приходят. Одна частая ошибка в Python является undationError: неожиданный отступ. Итак, что означает это сообщение об ошибке? Ошибка indentationError: Неожиданный отступ возникает, если вы используете непоследовательную отступ вкладки или пробелы для кода с отступом блоков, таких … Python indentationError: неожиданный отступ (как исправить эту глупую ошибку) Подробнее »

Если вы похожи на меня, вы сначала попробуйте все в своем коде и исправить ошибки, как они приходят. Одна частая ошибка в Python – IndentationError: неожиданный отступ Отказ Итак, что означает это сообщение об ошибке?

Давайте посмотрим на пример, где возникает эта ошибка:

Первая строка в корпусе петли использует два пробела в качестве уровня вдавливания. Вторая строка в корпусе петлей использует три персонажа пробелов в качестве уровня отступа. Таким образом, блоки вдавливания различны для разных линий того же блока. Однако Python ожидает, что все линии с отступом имеют структурно те же отступ.

Как исправить ошибку вдавливания Python?

Чтобы исправить ошибку, просто используйте одинаковое количество пробелов для каждой строки кода:

Общая рекомендация состоит в том, чтобы использовать четыре единственных пробелных персонажей » для каждого Отступ уровень. Если у вас вложенные уровни вдавливания, это означает, что второй уровень вдавливания имеет одновение пробелы:

Смесительные вкладки и пробелы частоты часто вызывают ошибку

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

Попробуйте сами: Прежде чем я скажу вам, что делать с этим, попробуйте исправить код себя в нашей интерактивной оболочке Python:

Упражнение : Исправьте код в оболочке интерактивного кода, чтобы избавиться от сообщения об ошибке.

Вы хотите развивать навыки Хорошо округлый Python Professional То же оплачивается в процессе? Станьте питоном фрилансером и закажите свою книгу Оставляя крысиную гонку с Python На Amazon ( Kindle/Print )!

Как исправить ошибку отступа на все времена?

Источник ошибки часто является неправильным использованием вкладок и пробеловных символов. Во многих редакторах кода вы можете установить символ вкладки на фиксированное количество символов пробела. Таким образом, вы, по сути никогда не используете сам табличный символ. Например, если у вас есть Sublime Text Editor, следующее быстрое руководство гарантирует, что вы никогда не будете работать в этой ошибке:

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

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

Источник

Я получаю IndentationError. Как это исправить?

у меня есть Python-скрипт:

однако, когда я пытаюсь запустить свой скрипт, Python вызывает IndentationError :

Я продолжал играть со своей программой, и я также смог произвести три другие ошибки:

что означают эти ошибки? Что я делаю не так? Как я могу исправить свой код?

4 ответов

почему отступ имеет значение?

в Python отступ используется для разграничения блоки кода. Это отличается от многих других языков, которые используют фигурные скобки <> для разграничения блоков, таких как Java, Javascript и C. Из-за этого пользователи Python должны уделять пристальное внимание тому, когда и как они отступают от своего кода, потому что имеет значение пробел.

немного истории

использование отступов Python происходит непосредственно из ABC, но эта идея не возникла с ABC-он уже был продвинут Дональдом Кнутом и был хорошо известной концепцией стиля программирования. (Язык программирования occam также использовал его.) Однако авторы ABC изобрели использование двоеточия, которое отделяет предложение о вводе от отступа блока. После раннего тестирования пользователя без двоеточия было обнаружено, что смысл отступа был неясен новичкам, обучаемым первым шагам программирования. Добавление толстой кишки значительно прояснило его: толстая кишка каким-то образом привлекает внимание к тому, что следует, и связывает фразы До и после него вместе в правильном направлении.

как сделать отступ мой код?

основное правило для отступа кода Python (учитывая, что вы рассматриваете всю программу как «базовый блок»): первый оператор в базовом блоке, и каждый последующий оператор после него должен быть отступом на ту же сумму.

так что технически следующие программы правильно:

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

используйте 4 пробела на каждый уровень отступа.

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

можно ли использовать вкладки?

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

пробелы являются предпочтительным методом отступа.

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

Python 3 запрещает смешивание вкладок и пробелов для отступов.

код Python 2 с отступом со смесью вкладок и пробелов должен быть преобразован в использование исключительно пробелов.

при вызове интерпретатора командной строки Python 2 с параметром-t он выдает предупреждения о коде, который незаконно смешивает вкладки и пробелы. При использовании-tt эти предупреждения становятся ошибками. Эти варианты настоятельно рекомендуется!

что означает» IndentationError: неожиданный отступ»?

эта ошибка возникает, когда оператор имеет излишний отступ или его отступ не совпадает с отступом прежних операторов в том же блоке. Например, первый оператор в программе ниже излишне отступ:

в этом примере can_drive = True строка if блок не соответствует отступу любого предыдущего утверждения:

исправить

исправление этой ошибки заключается в том, чтобы сначала убедиться, что проблемная строка даже должна быть отступом. Например, приведенный выше пример использования print может быть исправлено просто быть unindenting линии:

что означает» IndentationError: ожидаемый отступ блока»?

эта ошибка возникает, когда Python видит ‘заголовок’ для составной оператор, например, if : или while : но тело составного оператора или блок никогда не определяется. Например, в приведенном ниже коде мы начали if утверждение, но мы никогда не определяем тело для утверждения:

в этом втором примере, мы начали писать for цикл, но мы забываем отступ for тело цикла. Поэтому Python по-прежнему ожидает отступом на for петли тело:

комментарии не считаются органы:

исправить

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

как показано выше, распространенная ошибка новых пользователей является то, что они забывают отступ тела. Если это так, убедитесь, что каждый оператор, предназначенный для включения в тело составного оператора, имеет отступ на том же уровне под началом составного оператора. Здесь является ли приведенный выше пример фиксированным:

Другим распространенным случаем является то, что по какой-то причине пользователь может не захотеть определить фактическое тело для составного оператора или тело может быть прокомментировано. В этом случае pass оператор можно использовать. The pass оператор может использоваться везде, где Python ожидает один или несколько операторов в качестве заполнителя. из документации pass :

вот приведенный выше пример с if оператор исправлен с помощью pass ключевые слова:

что означает «IndentationError: unindent не соответствует никакому внешнему уровню отступа»?

эту ошибку особенно трудно поймать, потому что даже одно пространство приведет к сбою кода.

исправить

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

я все еще получаю IndentationError, но моя программа, похоже, правильно отступ. Что мне делать?

если ваш программа визуально имеет правильный отступ, но вы все равно получаете IndentationError у вас, скорее всего,смешанные вкладки с пробелами. Это иногда вызывает Python вызывает странные ошибки. См. подраздел особых случаях под что означает» TabError: непоследовательное использование вкладок и пробелов в отступах»? для более глубокого разъяснения проблемы.

что делает » TabError: непоследовательное использование вкладок и пробелов в отступах» означает?

эта ошибка возникает только при попытке смешать вкладки и пробелы в качестве символов отступа. Как сказано выше, Python не позволит вашей программе содержать сочетание вкладок и пробелов и вызовет конкретное исключение TabError если он найдет, что у вас есть. Например, в приведенной ниже программе для отступов используется сочетание вкладок и пробелов:

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

Unexpected indent python что значит. 1d85dfb18595086f7ecdbaca6305377c. Unexpected indent python что значит фото. Unexpected indent python что значит-1d85dfb18595086f7ecdbaca6305377c. картинка Unexpected indent python что значит. картинка 1d85dfb18595086f7ecdbaca6305377c

мы действительно смешанные пробелы и знаки табуляции для отступов.

особых случаях

Обратите Внимание На Python не будет всегда поднять TabError если вы смешиваете вкладки и пробелы в своей программе. Если отступ программы однозначно, Python позволит смешивать вкладки и пробелы. Например:

и иногда Python просто задыхается от смеси вкладок и пробелов и ошибочно поднимает IndentationError исключение, когда TabError было бы более уместно. Другой пример:

как вы можете видеть, запуск вашего кода таким образом может создать таинственные ошибки. Хотя программа визуально кажется, все в порядке, Python запутался, пытаясь разобрать вкладки и пробелы, используемые для отступов и ошибок.

исправить

если ваша программа короткая, вероятно, самым простым и быстрым решением является просто повторный отступ программы. Убедитесь, что каждый оператор отступается четырьмя пробелами на уровень отступа (см. как я отступ мой код?).

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

многие редакторы, такие как PyCharm и SublimeText есть опции для автоматического преобразования вкладок в пробелы. Есть также несколько он-лайн инструментов, таких как Вкладки В Пробелы или Browserling это позволяет быстро изменить отступ кода. Есть также инструменты, написанные на Python. autopep8 например, может автоматически повторно отступать ваш код и другие ошибки отступа, а также.

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

записку о «SyntaxError» связанные проблемы отступа

хотя и не часто, иногда некоторые SyntaxError исключения возникают из-за неправильного отступа. Например, посмотрите на код ниже:

при выполнении вышеуказанного кода a SyntaxError is raised :

исправить этот тип ошибки-просто правильно изменить отступ вашего кода. Чтобы узнать, как правильно отступить код, см. раздел как сделать отступ мой код?.

мне все еще трудно с синтаксисом отступов Python. Что мне делать?

не расстраивайтесь, если вы все еще боретесь. Он может потребоваться время, чтобы привыкнуть к Правила синтаксиса пробелов Python. Вот несколько советов, которые помогут:

ресурсы используется

Возвышенный Текст 3

если случится, что вы кодируете в Sublime Text 3, это может помочь вам с отступами problemes

в Sublime Text при редактировании файла Python:

возвышенное текстовое меню>предпочтения>Настройки Используется Специальный Синтаксис :

Python.sublime-настройки

вы видите, у вас есть небольшая ошибка.

вы должны были делать:

Как вы можете видеть, ваша печать имеет только отступ 3 пробела, она должна быть отступом 4 пробела.

быстрое исправление для пользователей Sublime:

Источник

What to do with «Unexpected indent» in python?

How do I rectify the error «unexpected indent» in python?

Unexpected indent python что значит. gHkYv. Unexpected indent python что значит фото. Unexpected indent python что значит-gHkYv. картинка Unexpected indent python что значит. картинка gHkYv

18 Answers 18

Python uses spacing at the start of the line to determine when code blocks start and end. Errors you can get are:

Unexpected indent. This line of code has more spaces at the start than the one before, but the one before is not the start of a subblock (e.g. if/while/for statement). All lines of code in a block must start with exactly the same string of whitespace. For instance:

This one is especially common when running python interactively: make sure you don’t put any extra spaces before your commands. (Very annoying when copy-and-pasting example code!)

Unindent does not match any outer indentation level. This line of code has fewer spaces at the start than the one before, but equally it does not match any other block it could be part of. Python cannot decide where it goes. For instance, in the following, is the final print supposed to be part of the if clause, or not?

Expected an indented block. This line of code has the same number of spaces at the start as the one before, but the last line was expected to start a block (e.g. if/while/for statement, function definition).

If you want a function that doesn’t do anything, use the «no-op» command pass:

Mixing tabs and spaces is allowed (at least on my version of Python), but Python assumes tabs are 8 characters long, which may not match your editor. Just say «no» to tabs. Most editors allow them to be automatically replaced by spaces.

The best way to avoid these issues is to always use a consistent number of spaces when you indent a subblock, and ideally use a good IDE that solves the problem for you. This will also make your code more readable.

Источник

Что делать с «неожиданным отступом» в Python?

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

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

Неожиданный отступ. Эта строка кода имеет больше пробелов в начале, чем предыдущая, но предыдущая не является началом подблока (например, оператор if / while / for). Все строки кода в блоке должны начинаться с одной и той же строки пробелов. Например:

Это особенно часто встречается при интерактивном запуске Python: убедитесь, что вы не добавляете лишних пробелов перед своими командами. (Очень раздражает при копировании и вставке кода примера!)

Unindent не соответствует ни одному внешнему уровню отступа. Эта строка кода имеет меньше пробелов в начале, чем предыдущая, но в равной степени не соответствует ни одному другому блоку, частью которого она могла бы быть. Python не может решить, куда он пойдет. Например, в дальнейшем предполагается, что окончательный вывод должен быть частью предложения if или нет?

Ожидается блок с отступом. Эта строка кода имеет такое же количество пробелов в начале, что и предыдущая, но ожидалось, что последняя строка запустит блок (например, оператор if / while / for, определение функции).

Разрешено смешивание табуляции и пробелов (по крайней мере, в моей версии Python), но Python предполагает, что длина табуляции 8 символов, что может не соответствовать вашему редактору. Просто скажите «нет» вкладкам. Большинство редакторов позволяют автоматически заменять их пробелами.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *