파이썬이 문장 블록의 시작과 끝을 들여쓰기로 판단하는 이유는 ‘시작 블록’과 ‘종료 블록’ 문법이 없기 때문이다. 중요한 규칙은 다음과 같다.
*
같은 깊이로 들여쓰기가 된 모든 문장은 하나의 코드 블록으로 간주한다.
가령 다음 블록은 틀린 코드이며, 수정해야 한다.
def main():
side1 = float(input('한 변의 길이를 입력하라: '))
side2 = float(input('다른 한 변의 길이를 입력하라: '))
hyp = (side1 * side1 + side2 * side2) ** 0.5
print('빗변의 길이는 다음과 같다: ', hyp)
블록문 안에 있는 내부 블록이라면 각 블록의 들여쓰기 깊이는 반드시 일정해야 한다. 예를 들어 보자.
def main():
age = int(input('나이를 입력하라: '))
name = input('이름을 입력하라: ')
if age < 30:
print('안녕하세요', name)
print('30세이하군요.')
print('정말 어리네요.')
함수 정의문 안의 첫 세 문장은 들여쓰기 깊이가 같다. 그리고 마지막 3줄은 한 단계 더 깊다. 각 블록문의 들여쓰기 깊이는 일정하다는 것을 알 수 있다.