들여쓰기
파이썬의 가장 독특한 특징은 코드 블록을 표시하기 위해 들여쓰기를 사용한다는 것입니다. 아래에서는 if 선택 구조를 예로 사용하겠습니다. If 뒤에 조건이 따르고, 조건이 true이면 if에 속하는 코드 블록이 실행됩니다.
먼저 C 언어의 표현식을 살펴보겠습니다(참고로 이것은 Python이 아니라 C입니다!)
if ( i > 0 ) { x = 1; y = 2; }
If i > 0 , 괄호 안에 포함된 두 가지 할당 작업을 수행합니다. 괄호 안에 들어 있는 것은 if에 속하는 블록 연산이다.
파이썬에서는 같은 목적으로 이 구절은 이렇습니다.
if i > 0: x = 1 y = 2
파이썬에서는 i > 0이 제거됩니다. , 각 명령문 끝에 있는 세미콜론이 제거되고 블록을 표시하는 중괄호가 사라졌습니다.
if... 뒤에 추가:(콜론)이 있고 x = 1 및 y =2 앞에 공백 4개가 들여쓰기되어 있습니다. 들여쓰기를 통해 Python은 이 두 문이 if에 속한다는 것을 인식합니다.
파이썬이 이렇게 설계된 이유는 순전히 프로그램이 보기 좋게 만들어지기 위해서입니다.
if 문
완전한 프로그램을 작성하고 이름을 ifDemo.py로 지정합니다. 이 프로그램은 if 구조를 구현하는 데 사용됩니다.
i = 1 x = 1 if i > 0: x = x+1 print x
$python ifDemo.py # Run
프로그램이 if로 실행되면 조건이 True이므로 x = x +1,.이 실행됩니다.
print x 문은 들여쓰기가 되어 있지 않으므로 if 외부에 있습니다.
첫 번째 문장을 i = -1로 변경한 후 거짓 값(False)을 만나면 x = x+1은 if에 속하므로 이 문장은 건너뜁니다. print x에는 들여쓰기가 없고 if 외부에 있으며 건너뛰지 않고 계속 실행됩니다.
소속을 표시하기 위해 공백 4개 들여쓰기를 사용하는 이러한 작성 방법은 앞으로 다시 볼 수 있습니다. 강제 들여쓰기는 프로그램 가독성을 향상시킵니다.
더 복잡한 if 선택:
i = 1 if i > 0: print 'positive i' i = i + 1 elif i == 0: print 'i is 0' i = i * 10 else: print 'negative i' i = i - 1 print 'new i:',i
여기에는 if, elif 및 else가 이끄는 세 개의 블록이 있습니다.
Python은 조건이 거짓인 것으로 확인되면 다음 블록을 건너뛰고 여전히 거짓인 경우 다음 elif의 조건을 감지하고 else 블록을 실행합니다.
위의 구조를 통해 프로그램은 3가지로 나누어집니다. 프로그램은 조건에 따라 세 가지 분기 중 하나만 실행합니다.
전체 if를 다른 if 문에 배치할 수 있습니다. 이는 if 구조를 중첩하여 사용하는 것입니다.
i = 5 if i > 1: print 'i bigger than 1' print 'good' if i > 2: print 'i bigger than 2' print 'even better'
if i > 2 다음 블록은 if를 기준으로 4칸 들여쓰기되어 외부 if가 아닌 if에 속함을 나타냅니다.
요약
if 문
뒤의 콜론은 소속을 나타 내기 위해 4개의 공백으로 들여쓰기되어 있습니다. Python에서는 마음대로 들여쓰기를 할 수 없습니다
if <条件1>: statement elif <条件2>: statement elif <条件3>: statement else: statement