>백엔드 개발 >파이썬 튜토리얼 >파이썬 들여쓰기 규칙은 무엇입니까?

파이썬 들여쓰기 규칙은 무엇입니까?

silencement
silencement원래의
2019-06-27 14:24:309283검색

파이썬 들여쓰기 규칙은 무엇입니까?

파이썬에서는 들여쓰기(Indentation)에 따라 코드의 범위가 결정됩니다. 이는 전통적인 c/C++와 매우 다릅니다(기존 c/C++는 중괄호 {}를 사용하여 범위의 범위를 결정합니다. Python은 들여쓰기된 공백을 사용하여 범위의 범위를 나타내며 동일한 들여쓰기된 코드 줄은 동일한 범위에 있습니다). ).

각 코드 줄 시작 부분의 공백(공백) 수는 코드 줄의 들여쓰기 수준(들여쓰기 수준)을 계산하는 데 사용됩니다. 탭은 1에서 1로 대체됩니다. 공백 8개(특정 공백 번호, 컴파일러마다 번호가 다름), 들여쓰기 수준이 0이면 들여쓰기 공백이 없음을 의미합니다.

소스 파일에서 공백과 탭 들여쓰기 문자를 동시에 사용하는 것은 권장되지 않습니다. 통일하는 것이 가장 좋습니다. 들여쓰기의 경우 IDEL 편집기에서 Edit > Untabify Region을 사용하여 모든 탭 문자를 공백으로 변환할 수 있습니다.

Python의 모든 문에는 들여쓰기 수준이 있으며, 들여쓰기 수준은 스택 데이터 구조를 사용하여 저장됩니다. 파일 읽기를 시작하기 전에 0(들여쓰기 수준 0, 들여쓰기 없음을 나타냄)이 먼저 스택에 푸시됩니다. 그런 다음 파일의 처음부터 끝까지 논리 코드의 각 줄을 읽습니다. 논리 코드의 각 줄의 들여쓰기 수준이 스택 상단의 값과 비교됩니다. 스택 상단의 값보다 크면 논리 코드 줄의 들여쓰기 수준이 스택에 푸시되고 값보다 작으면 들여쓰기 토큰(INDENT TOKEN)이 생성됩니다. 스택 상단에 있으면 논리 코드 줄의 들여쓰기 수준보다 큰 스택의 모든 들여쓰기 수준이 생성됩니다. 값은 스택에서 제거되고 확장 토큰(DEDENT TOKEN)이 생성됩니다.

다음은 들여쓰기의 올바른 경우입니다:

def perm(l):#0
        # Compute the list of all permutations of l
    if len(l) <= 1:# 1
                  return [l]# 2
    r = []# 3
    for i in range(len(l)):# 4
             s = l[:i] + l[i+1:]# 5
             p = perm(s)# 6
             for x in p:# 7
              r.append(l[i:i+1] + x)# 8
    return r# 9

다음은 잘못된 경우입니다

def perm(l):                       #1 error: first line indented
    for i in range(len(l)):             #2 error: not indented
        s = l[:i] + l[i+1:]
            p = perm(l[:i] + l[i+1:])   #3 error: unexpected indent
            for x in p:
                    r.append(l[i:i+1] + x)#4
                return r                #5 error: inconsistent dedent

위 내용은 파이썬 들여쓰기 규칙은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.