Unexpected indent python что это

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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Источник

What to do with «Unexpected indent» in python?

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

Unexpected indent python что это. Смотреть фото Unexpected indent python что это. Смотреть картинку Unexpected indent python что это. Картинка про Unexpected indent python что это. Фото Unexpected indent python что это

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.

Источник

Я получаю 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 что это. Смотреть фото Unexpected indent python что это. Смотреть картинку Unexpected indent python что это. Картинка про Unexpected indent python что это. Фото Unexpected indent python что это

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

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

Обратите Внимание На 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:

Источник

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 что это. Смотреть фото Unexpected indent python что это. Смотреть картинку Unexpected indent python что это. Картинка про Unexpected indent python что это. Фото Unexpected indent python что это

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 что это. Смотреть фото Unexpected indent python что это. Смотреть картинку Unexpected indent python что это. Картинка про Unexpected indent python что это. Фото Unexpected indent python что это

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 что это. Смотреть фото Unexpected indent python что это. Смотреть картинку Unexpected indent python что это. Картинка про Unexpected indent python что это. Фото Unexpected indent python что это

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.

Источник

IndentationError: unexpected indent

The IndentationError: Unexpected indent error indicates that you have added an excess indent in the line that the python interpreter unexpected to have. An unexpected indent in the Python code causes this indentation error. To overcome the Indentation error, ensure that the code is consistently indented and that there are no unexpected indentations in the code. This would fix the IndentationError: Unexpected indent error.

The IndentationError: Unexpected indent error occurs when you use too many indent at the beginning of the line. Make sure your code is indented consistently and that there are no unexpected indent in the code to resolve Indentation error. Python doesn’t have curly braces or keyword delimiter to differentiate the code blocks. In python, the compound statement and functions requires the indent to be distinguished from other lines. The unexpected indent in python causes IndentationError: Unexpected indent error.

The indent is known as the distance or number of empty spaces between the start of the line and the left margin of the line. Indents are not considered in the most recent programming languages such as java, c++, dot net, etc. Python uses the indent to distinguish compound statements and user defined functions from other lines.

Exception

The error message IndentationError: Unexpected indent indicates that there is an excess indent in the line that the python interpreter unexpected to have. The indentation error will be thrown as below.

Root Cause

The root cause of the error message “IndentationError: Unexpected indent” is that you have added an excess indent in the line that the python interpreter unexpected to have. In order to resolve this error message, the unexpected indent in the code, such as compound statement, user defined functions, etc. must be removed.

Solution 1

The unexpected indent in the code must be removed. Walk through the code to trace the indent. If any unwanted indent is found, remove it. The lines inside blocks such as compound statements and user defined functions will normally have excess indents, spaces, tabs. This error “IndentationError: unexpected indent” is resolved if the excess indents, tabs, and spaces are removed from the code.

Program

Output

Solution

Output

Solution 2

In the sublime Text Editor, open the python program. Select the full program by clicking on Cntr + A. The entire python code and the white spaces will be selected together. The tab key is displayed as continuous lines, and the spaces are displayed as dots in the program. Stick to any format you wish to use, either on the tab or in space. Change the rest to make uniform format. This will solve the error.

Program

Solution

Solution 3

In most cases, this error would be triggered by a mixed use of spaces and tabs. Check the space for the program indentation and the tabs. Follow any kind of indentation. The most recent python IDEs support converting the tab to space and space to tabs. Stick to whatever format you want to use. This is going to solve the error.

Check the option in your python IDE to convert the tab to space and convert the tab to space or the tab to space to correct the error.

Solution 4

In the python program, check the indentation of compound statements and user defined functions. Following the indentation is a tedious job in the source code. Python provides a solution for the indentation error line to identify. To find out the problem run the python command below. The Python command shows the actual issue.

Command

Example

Solution 5

There is an another way to identify the indentation error. Open the command prompt in Windows OS or terminal command line window on Linux or Mac, and start the python. The help command shows the error of the python program.

Источник

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

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