13.1 else 사용하기
else는 if 조건문 뒤에 오며 단독으로 사용할 수 없습니다. 그리고 if와 마찬가지로 else도 :(콜론)을 붙이며 다음 줄에 실행할 코드가 옵니다.
if 조건식: 코드1 # ← 들여쓰기 4칸 else: 코드2 #↑ 들여쓰기 4칸
먼저 IDLE의 파이썬 셸에서 if, else를 사용해보겠습니다.
변수 x에 10을 할당합니다. 그리고 if x == 10:을 입력한 뒤 엔터를 누르면 자동으로 들여쓰기가 됩니다. 그다음에 print('10입니다.')를 입력하고 엔터를 누르면 빈 줄이 나옵니다. 이 줄에서 백스페이스를 눌러 들여쓰기를 지운 뒤에 else:를 입력하세요. 그다음에 print('10이 아닙니다.')를 입력하고 엔터 키를 누르면 빈 줄이 나옵니다. 마지막으로 이 상태에서 엔터 키를 다시 누르면 if, else 작성이 끝나고 결과가 출력됩니다.
콘솔(터미널, 명령 프롬프트)에서 if, else를 작성할 때는 자동으로 들여쓰기가 되지 않습니다. 다음과 같이 if x == 10: 다음 줄에서는 들여쓰기를 한 뒤 print('10입니다.')를 입력합니다. 마찬가지로 else: 다음 줄에서는 들여쓰기를 한 뒤 print('10이 아닙니다.')를 입력합니다. 그다음 빈 줄에서 엔터 키를 누르면 if, else 작성이 끝나고 결과가 출력됩니다.
>>> x = 5 >>> if x == 10: ... print('10입니다.') # ← 들여쓰기 4칸 ... else: ... print('10이 아닙니다.') # ← 들여쓰기 4칸 ... # ← 빈 줄에서 엔터 키를 누름 10이 아닙니다.
else는 if의 조건식이 만족하지 않을 때 코드를 실행합니다. 여기서는 x에 5가 들어있어서 x == 10을 만족하지 않으므로 else의 print가 실행되어 '10이 아닙니다.'가 출력됩니다.
보통 if의 조건식이 만족하면 참(True), 만족하지 않으면 거짓(False)라고 부릅니다. 즉, 조건식이 참이면 if의 코드가 실행되고, 거짓이면 else의 코드가 실행됩니다.
변수 x에 5가 들어있으면 y에 x를 할당하고, 아니면 y에 0을 할당하는 코드는 다음과 같이 만들 수 있습니다.
>>> x = 5 >>> if x == 10: ... y = x ... else: ... y = 0 ... >>> y 0
이렇게 if, else에서 변수에 값을 할당할 때는 변수 = 값 if 조건문 else 값 형식으로 축약할 수 있으며 이런 문법을 조건부 표현식(conditional expression)이라고 부릅니다.
>>> x = 5 >>> y = x if x == 10 else 0 >>> y 0