Unit 14
1. else 사용하기
- else는 if 조건문 뒤에 오며 단독으로는 사용할 수 없다.
- else는 if의 조건식이 만족하지 않을 때 코드를 실행한다.
- else는 if와 마찬가지로 뒤에 : (콜론)을 붙이며 다음줄에 실행할 코드를 들여쓴다.
>>> x = 5 >>> if x == 10: print('10입니다.') else: print('10이 아닙니다.')
※ 변수에 값 할당하는 것을 if, else로 축약하기
# 변수 x에 10이 들어있으면 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
- 이러한 조건부 표현식은 람다 표현식에서 자주 사용한다.
2. if 조건문의 동작방식
- True, False, None으로 조건문을 작성할 때, True와 False는 당연히 참, 거짓이지만 변수에 들어있는 값이나 함수의 결과가 None인 경우에는 False로 취급된다.
if True: print('참') # True는 참 else: print('거짓') if False: print('참') else: print('거짓') # False는 거짓 if None: print('참') else: print('거짓') # None은 거짓
- 숫자는 정수(2진수, 10진수, 16진수), 실수와 관계없이 0이면 거짓, 0이 아닌 수는 참이다.
if 0: print('참') else: print('거짓') # 0은 거짓 if 1: print('참') # 1은 참 else: print('거짓') if 0x1F: # 16진수 print('참') # 0x1F는 참 else: print('거짓') if 0b1000: # 2진수 print('참') # 0b1000은 참 else: print('거짓') if 13.5: # 실수 print('참') # 13.5는 참 else: print('거짓')
- 문자열은 내용이 있으면 참, 빈 문자열은 거짓이다.
if 'Hello': # 문자열 print('참') # 문자열은 참 else: print('거짓') if '': # 빈 문자열 print('참') else: print('거짓') # 빈 문자열은 거짓
→ 값 자체가 있으면 if가 동작하고 반대로 0, None, '' 은 False로 취급하기 때문에 else가 동작한다.
3. 조건식을 여러 개 지정하기
- if 조건문에서는 논리 연산자(and, or)를 사용하여 조건식을 여러 개 지정할 수 있다.
x = 10 y = 20 if x == 10 and y == 20: # 조건식이 2개 print('참') else: print('거짓')
- x가 양수이면서 20보다 작은지 판단할 때
먼저 이런 중첩 if 조건문을 and 논리 연산자를 사용하여 if 하나로 줄일 수 있다.if x > 0: if x < 20: print('20보다 작은 양수입니다.')
그런데 파이썬에서는 0 < x < 20 처럼 부등호를 연달아 사용할 수 있기 때문에, 이 조건식을 더 간단하게 만들 수 있다.if x > 0 and x < 20: print('20보다 작은 양수입니다.')
if 0 < x < 20: print('20보다 작은 양수입니다.')
정리 참조
https://dojang.io/course/view.php?id=7
'Python 코딩도장' 카테고리의 다른 글
파이썬 코딩도장 Unit 16 정리 : for 반복문 (0) | 2022.01.15 |
---|---|
파이썬 코딩도장 Unit 15 정리 : elif (0) | 2022.01.14 |
파이썬 코딩도장 Unit 13 정리 : if 조건문 (0) | 2022.01.13 |
파이썬 코딩도장 Unit 12 정리 : 딕셔너리 (0) | 2022.01.12 |
파이썬 코딩도장 Unit 11 정리 : 시퀀스 자료형 (0) | 2022.01.12 |