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