Python의 들여쓰기 오류: 원인, 해결 방법, 이점
게시 됨: 2021-05-26해석된 고급 범용 프로그래밍 언어인 Python은 프로그래밍 세계에서 가장 유망하고 선도적이며 새로운 플랫폼으로 점점 더 많은 찬사를 받고 있습니다. Python은 독창적인 디자인 철학 없이는 아무 것도 아닙니다.
주요 특징은 코드 가독성을 향상시키기 위해 상당한 들여쓰기를 사용하는 것을 강조한다는 것입니다. 아래에 강조 표시된 그림은 Python의 가장 다작하고 집요한 핵심 개발자 중 한 명이 된 장기 Pythoneer인 Tim Peters가 언급한 20개의 격언으로 Python의 디자인 철학의 보루를 간략하게 설명합니다.
목차
파이썬에 대한 간략한 소개
Python의 들여쓰기 오류에 대한 구체적인 기술을 탐구하기 전에 Python의 기본 사항과 들여쓰기의 필요성에 대해 알아야 합니다. 그렇게 하면 오류 자체를 더 잘 이해하는 데 도움이 될 뿐만 아니라 프로그래머가 오류를 효과적으로 해결하도록 선택하여 얻을 수 있는 이점에 대한 통찰력을 얻을 수 있습니다.
다중 패러다임 프로그래밍 언어로서의 Python의 시작은 1991년으로 거슬러 올라갈 수 있습니다. 그 이후로 프로그래머는 데이터 과학, 웹 및 모바일 개발과 같은 다양한 사용자별 요구 사항에 맞게 Python의 핵심 와이어프레임을 지속적으로 조정해 왔습니다.
이제 우리는 읽을 수 없는 손글씨를 이해하려는 시도가 힘들게 까다롭고 종종 화를 낸다는 것을 압니다. 마찬가지로 읽을 수 없고 구조화되지 않은 코드는 단순하고 단순하며 프로그래밍 세계에서 용납될 수 없습니다. 이것은 PEP 또는 Python Enhancement Proposal의 개념이 프로그래머를 구출하는 곳입니다. Python 커뮤니티에 대한 PEP는 일반 대중을 위한 공유 Google 문서와 유사합니다.
Python 프로그래밍 커뮤니티에 코드 가독성을 개선하기 위한 기능 및 업데이트에 대한 포괄적인 정보를 제공하는 지속적으로 업데이트되는 설명 명령입니다. Guido van Rossum, Barry Warsaw 및 Nick Coghlan이 2001년에 작성한 PEP 8은 Python의 스타일 코드라고 합니다.
들여쓰기란 무엇입니까?
Python은 절차적 언어라는 것이 주로 알려져 있으므로 Python의 들여쓰기는 단일 코드를 기능적으로 유사한 명령문의 식별 가능한 그룹으로 분리하는 데 사용됩니다. C, C++ 및 JAVA를 포함한 대부분의 프로그래밍 언어는 중괄호 '{}'를 사용하여 코드 블록을 정의합니다. Python은 이 디자인과의 편차를 표시하고 들여쓰기를 선호합니다.
들여쓰기의 구문
PEP 8 공백 윤리에 의해 요약된 규칙에 따르면, 모든 새로운 반복(즉, 코드 블록)은 들여쓰기로 시작해야 하고 코드의 끝은 들여쓰기되지 않은 첫 번째 줄이어야 합니다. 들여쓰기를 실행하는 일반적인 방법은 공백 4개 또는 탭 문자 1개이며 탭보다 영역이 더 선호됩니다.
앞서 논의한 바와 같이, 줄의 시작 부분에 있는 선행 공백은 줄의 들여쓰기 수준을 결정합니다. 특정 코드 블록에 대한 명령문을 그룹화하려면 들여쓰기 수준을 높여야 합니다. 마찬가지로 그룹화를 닫으려면 들여쓰기 수준을 줄여야 합니다.
확인: 42개의 흥미로운 Python 프로젝트 주제 및 아이디어
파이썬에서 들여쓰기 오류의 원인
'들여쓰기 오류: 들여쓰기된 블록 예상'은 사용자를 구분하지 않습니다. Python 프로그래밍의 초보자이든 숙련된 소프트웨어 개발자이든, 이것은 어느 시점에서 발생하기 마련입니다. 파이썬에서는 입력하는 모든 코드가 올바른 공백을 통해 정렬되기 때문에 코드의 어떤 인스턴스에서든 잘못된 들여쓰기가 있는 경우 전체 코드가 실행되지 않고 인터프리터가 오류 함수를 반환합니다. 주의해야 할 사항을 정확히 알기 위해 다음은 Python에서 들여쓰기 오류의 일반적인 원인 중 일부를 나열한 것입니다.
1. 코딩하는 동안 탭과 공백의 동시 사용. 이론적으로는 탭과 공백이 같은 역할을 한다고 주장할 수 있지만, 이를 인터프리터의 관점에서 생각해보자. 공백과 탭이 일관성 없이 상호 교환적으로 사용되면 모호성이 생깁니다. 이로 인해 인터프리터는 사용할 변경 사항을 혼동하고 결국 Python에서 들여쓰기 오류를 반환합니다.
2. 의도치 않게 들여쓰기를 잘못된 위치에 배치했거나 탭이 없거나 코드 라인 사이에 공백이 있습니다. Python은 작성된 코드를 정렬하기 위해 엄격한 지침을 준수하기 때문에 잘못된 위치에 들여쓰기를 하면 필연적으로 오류가 반환됩니다. 예를 들어, Python의 첫 번째 줄은 들여쓰지 않아야 합니다.
3. 때때로 기한이 매우 길고 매우 긴 프로그램을 끝내는 동안 for, while 및 if와 같은 복합 명령문 함수를 들여쓰는 것을 무의식적으로 놓칠 수 있습니다. 이것은 다시 들여쓰기 오류로 이어집니다. 이것은 파이썬을 사용할 때 들여쓰기에 대한 가장 기본적인 필요이며 마스터하기 위해 엄격하게 연습해야 합니다.
4. 사용자 정의 함수나 다른 클래스로 작업할 때 들여쓰기 사용을 잊어버린 경우 오류가 팝업될 수 있습니다.
Python에서 들여쓰기 오류를 해결하는 방법은 무엇입니까?
1. 잘못된 공백이나 탭이 있는지 확인합니다. 불행히도 들여쓰기 오류에 대한 빠른 수정은 없습니다. 코드가 귀하의 것이기 때문에 오류가 있는 인스턴스를 개별적으로 식별하기 위해 각 행을 평가해야 한다는 사실이 남아 있습니다. 그러나 코드 라인이 블록으로 배열되기 때문에 프로세스가 비교적 간단합니다. 예를 들어 특정 시퀀스에서 'if' 문을 사용한 경우 다음 줄 들여쓰기를 기억했는지 교차 확인할 수 있습니다.
2. 특정 블록에 대한 들여쓰기가 중간에 새 블록이 도입되더라도 코드 전체에서 동일하게 유지되도록 합니다. 들여쓰기에 불일치가 있는지 확인하십시오.
위의 수동 솔루션이 효과가 없고 들여쓰기를 놓친 부분을 파악하는 데 어려움이 있는 경우 다음 단계를 따르세요.
3. 코드 편집기 설정으로 이동하여 탭과 공백을 표시하는 옵션을 활성화합니다. 이 기능을 활성화하면 작은 점 하나가 표시되며 각 점은 탭/공백을 나타냅니다. 드롭이 없어야 할 위치에 누락된 것을 발견했다면 해당 라인에 들여쓰기 오류가 있을 수 있습니다.
4. Python 인터프리터 내장 들여쓰기 가이드를 사용합니다. 틀림없이 이 방법은 여러 코드 라인에 대해 매우 비효율적입니다. 그러나 각 행을 통해 안내하고 오류가 있는 위치를 정확히 보여주기 때문에 모든 오류를 찾고 수정할 수 있는 가장 확실한 방법입니다.
더 읽어보기: 실제 세계에서 가장 매력적인 12가지 Python 응용 프로그램
들여쓰기의 이점
가독성과 일관성은 좋은 코드에 필수적입니다. 따라서 PEP 8 공백 다음에 윤리는 협상할 수 없습니다. 코드를 논리적으로 구체화하여 보다 즐거운 코딩 경험에 기여합니다. 또한 가독성이 사실인 이 스타일 지침을 따르면 당신은 모르지만 당신의 작업에 관심이 있는 사람들이 당신의 코드를 쉽게 이해할 것입니다.
들여쓰기의 단점
- 코드가 크고 들여쓰기가 손상된 경우 들여쓰기 오류를 수정하는 것이 지루할 수 있습니다. 이것은 일반적으로 온라인 소스, Word 문서 또는 PDF 파일에서 코드를 복사할 때 발생합니다.
- 인기 있는 프로그래밍 언어는 일반적으로 들여쓰기에 중괄호를 사용합니다. 이제 막 Python을 사용하기 시작한 프로그래머의 경우 들여쓰기에 공백을 사용하는 아이디어에 적응하는 것이 어려울 수 있습니다.
합산
당신과 잘 작성된 코드 사이에 있는 모든 것은 들여쓰기이며, 당신과 잘 작성된 코드와 원활한 실행 사이에 있는 모든 것은 들여쓰기 오류입니다. 이제 모든 인간은 실수를 합니다. 모든 프로그래머는 인간입니다. 따라서 모든 프로그래머는 실수를 합니다. 그러나 들여쓰기 오류는 쉽게 해결할 수 있습니다. 당신이해야 할 일은 숨을 쉬고 당신의 공간을 차지하는 것입니다.
이 파이썬 프로젝트에서 작업하면서 많은 것을 배우기를 바랍니다. 급변하는 기술 발전에 앞서 데이터 과학을 배우는 데 관심이 있다면 upGrad & IIIT-B의 데이터 과학 Executive PG 프로그램을 확인하고 미래를 위한 기술을 향상시키십시오.
Python은 줄 시작 부분의 공백을 보고 코드 블록이 시작 및 중지되는 시점을 결정합니다. 다음 들여쓰기 오류가 발생할 수 있습니다. 탭과 공백은 화면에 공백으로 나타나는 두 개의 개별 문자입니다. 문제는 탭 문자가 얼마나 커야 하는지에 대한 합의가 없기 때문에 일부 편집자는 이를 8칸, 다른 편집자는 4칸, 다른 편집자는 2칸으로 표시하며 사용자 정의도 가능하다는 것입니다. 코드를 선택하고 Tab 또는 Shift + Tab을 눌러 들여쓰거나 들여쓰기를 취소합니다. 코드를 변경하기 위한 다른 도구는 편집 섹션에서 찾을 수 있습니다.Python에서 들여쓰기로 인해 어떤 오류가 발생할 수 있습니까?
1. 예기치 않은 들여쓰기 - 이 코드 줄은 앞의 줄보다 시작 부분에 더 많은 공백이 있지만 그 앞의 줄은 하위 블록을 시작하지 않습니다. 블록에서 모든 코드 행은 동일한 공백 문자열로 시작해야 합니다.
2. 들여쓰기 안 함은 외부 들여쓰기 수준에 해당하지 않습니다 . - 이 코드 줄은 시작 부분에 이전 줄보다 적은 공백을 포함하지만 다른 블록과도 일치하지 않습니다.
3. 들여쓰기된 블록이 예상 됨 - 이 코드 줄은 이전 줄과 동일한 수의 공백으로 시작하지만 이전 줄은 블록을 시작해야 합니다(예: if/while/for 문, 함수 정의). 들여쓰기 Spyder에서 일관성 없는 탭과 공백을 어떻게 수정합니까?
코딩하지만 한 줄은 탭으로 들여쓰기되고 다른 줄은 공백으로 들여쓰기되면 편집기에서 보기에는 괜찮아 보이지만(하지만 탭 너비를 두 배로 늘리면 잘 보이지 않습니다. 이제) Python에서 오류가 발생합니다. 탭 줄은 2단계 들여쓰기됩니다).
이 문제를 방지하려면 텍스트 편집기의 옵션으로 이동하여 탭을 공백으로 변환 기능을 활성화하십시오. 이 기능은 탭 문자를 n 공백 문자로 대체합니다. 여기서 n은 편집기에서 사용하는 탭 너비입니다. Spyder에서 들여쓰기를 어떻게 표시합니까?