조건문
특정 조건을 만족할 때 코드를 수행하는 구문
if 문
if~ else~
- if 문에 적힌 조건이 참이라면 if 문 아래의 코드를 실행하고, 거짓이라면 else 문 아래의 코드를 실행한다.
x = 50
if x >= 50:
print('x는 50 이상') # True인 경우
else:
print('x는 50 미만') # False인 경우
x는 50 이상
if~ elif~ else
- elif를 이용하여 추가 조건을 작성할 수 있다.
x = 50
if x >= 100:
print('x는 100 이상')
elif 20 <= x < 100:
print('x는 20 이상 100 미만 ')
else:
print('x는 20 미만')
x는 20 이상 100 미만
조건부 표현식 (conditional expression)
- 조건부 표현식을 이용하면 한 줄로 조건문을 작성할 수 있다.
- "참인 경우의 코드 if 조건문 else 거짓인 경우의 코드"
x = 50
print("x는 50 이상") if x >= 50 else print("x는 50 미만")
x = 49
print("x는 50 이상") if x >= 50 else print("x는 50 미만")
x는 50 이상
x는 50 미만
비교 연산자
- 조건문에 다양한 비교 연산자를 사용할 수 있다.
비교 연산자 | 설명 |
x == y | x와 y가 같으면 True, 다르면 False |
x != y | x와 y가 다르면 True, 같다면 True |
x > y | x가 y보다 크면 True, 작다면 False |
x < y | x가 y보다 작다면 True, 크면 False |
x >= y | x가 y보다 이상이면 True, 아니면 False |
x <= y | x가 y보다 이하면 True, 아니면 False |
논리 연산자
- 논리식을 위한 논리 연산자 and, or, not이 있다.
논리 연산자 | 설명 |
x and y | x와 y가 모두 참이면 True, 아니면 False |
x or y | x와 y 중 하나라도 참이면 True, 아니면 False |
not x | x가 참이라면 False 반환, 거짓이면 True 반환 |
in, not in 연산자
- in, not in 연산자를 이용하여 자료구조 내에 특정 요소가 있는지 확인하여 프로그램 흐름을 제어할 수 있다.
연산자 | 설명 |
x in 자료구조 | 자료구조 안에 x가 있다면 Ture, 없다면 False 반환 |
x not in 자료구조 | 자료구조 안에 x가 없다면 True, 있다면 False 반환 |
match-case 문
- python 3.10 이상부터 다른 언어의 switch-case 문과 비슷하지만 더 강력한 기능을 제공하는 match-case 문을 사용할 수 있다.
match-case 예제
# match-case
for i in range(1, 11):
match i % 2:
case 0:
print(f'{i}는 짝수입니다.')
case 1:
print(f'{i}는 홀수입니다.')
1는 홀수입니다.
2는 짝수입니다.
3는 홀수입니다.
4는 짝수입니다.
5는 홀수입니다.
6는 짝수입니다.
7는 홀수입니다.
8는 짝수입니다.
9는 홀수입니다.
10는 짝수입니다.
여러 조건 확인하기
- match-case 문은 1개 이상의 조건을 확인할 수 있어 더욱 강력하다.
# match-case
for i in range(1, 11):
match (i % 2, i % 3):
case (0, 0):
print(f'{i}는 2와 3의 배수입니다.')
case (0, _): # 언더스코어(_)는 아무값이든 상관없다는 의미
print(f'{i}는 2의 배수입니다.')
case (_, 0):
print(f'{i}는 3의 배수입니다.')
case (_, _):
print(f'{i}는 2와 3의 배수가 아닙니다.')
1는 2와 3의 배수가 아닙니다.
2는 2의 배수입니다.
3는 3의 배수입니다.
4는 2의 배수입니다.
5는 2와 3의 배수가 아닙니다.
6는 2와 3의 배수입니다.
7는 2와 3의 배수가 아닙니다.
8는 2의 배수입니다.
9는 3의 배수입니다.
10는 2의 배수입니다.