Python 조건문이란?
프로그램은 항상 같은 동작만 수행하지 않습니다. 입력된 값이나 현재 상태에 따라 다른 결과를 만들어야 하는 경우가 많으며, 이때 사용하는 문법이 조건문(Conditional Statement)입니다.
Python에서는 if, elif, else를 이용해 다양한 조건을 표현할 수 있습니다. 조건문은 회원 로그인, 점수 계산, 메뉴 선택, 파일 존재 여부 확인 등 거의 모든 프로그램에서 사용됩니다.

if문의 기본 문법
가장 기본적인 형태는 조건이 참(True)일 때만 코드를 실행하는 것입니다.
age = 20
if age >= 19:
print("성인입니다.")
실행 결과
성인입니다.
설명
- 조건 뒤에는 반드시
:를 작성합니다. - 실행할 코드는 들여쓰기(Indentation)해야 합니다.
- 조건이 거짓이면 아무것도 실행되지 않습니다.
if ~ else 사용하기
else는 조건이 거짓일 때 실행됩니다.
temperature = 15
if temperature >= 20:
print("반팔을 입으세요.")
else:
print("겉옷을 챙기세요.")
실행 결과
겉옷을 챙기세요.
elif로 여러 조건 처리하기
조건이 여러 개라면 elif를 사용하면 됩니다.
score = 87
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
else:
print("D")
실행 결과
B
| 점수 | 결과 |
|---|---|
| 90 이상 | A |
| 80~89 | B |
| 70~79 | C |
| 70 미만 | D |
비교 연산자 이해하기
조건문에서는 비교 연산자를 자주 사용합니다.
| 연산자 | 의미 | 예시 |
|---|---|---|
| == | 같다 | a == b |
| != | 다르다 | a != b |
| > | 크다 | a > b |
| < | 작다 | a < b |
| >= | 크거나 같다 | a >= b |
| <= | 작거나 같다 | a <= b |
x = 10
if x == 10:
print("같습니다.")
논리 연산자(and, or, not)
여러 조건을 함께 검사하려면 논리 연산자를 사용합니다.
age = 22
has_ticket = True
if age >= 19 and has_ticket:
print("입장 가능합니다.")
실행 결과
입장 가능합니다.
| 연산자 | 설명 |
|---|---|
| and | 모든 조건이 참 |
| or | 하나라도 참 |
| not | 참과 거짓 반전 |
중첩 조건문(Nested if)
조건문 안에 또 다른 조건문을 작성할 수도 있습니다.
age = 25
member = True
if age >= 19:
if member:
print("회원 할인 적용")
else:
print("회원 가입이 필요합니다.")
실행 결과
회원 할인 적용
중첩 조건문은 복잡한 로직을 구현할 수 있지만, 너무 많이 사용하면 코드가 읽기 어려워질 수 있습니다.
삼항 연산자 사용하기
간단한 조건은 한 줄로 표현할 수 있습니다.
age = 18
message = "성인" if age >= 19 else "미성년자"
print(message)
실행 결과
미성년자
match-case 문법(Python 3.10 이상)
여러 값을 비교하는 경우에는 match-case 문법도 사용할 수 있습니다.
day = 2
match day:
case 1:
print("월요일")
case 2:
print("화요일")
case _:
print("기타")
실행 결과
화요일
Python 3.10 이상에서만 사용할 수 있는 기능입니다.
실무에서 조건문 활용 사례
| 분야 | 활용 예시 |
|---|---|
| 웹 서비스 | 로그인 여부 확인 |
| 쇼핑몰 | 회원 등급 할인 적용 |
| 자동화 | 파일 존재 여부 검사 |
| 데이터 분석 | 데이터 필터링 |
| 게임 | 레벨에 따른 이벤트 실행 |
초보자가 자주 하는 실수
=와==를 혼동하는 경우- 콜론(
:)을 생략하는 경우 - 들여쓰기를 맞추지 않는 경우
- 조건 순서를 잘못 작성해 원하는 결과가 나오지 않는 경우
- 중첩 조건문을 과도하게 사용해 코드가 복잡해지는 경우
조건문 작성 팁
- 조건은 가능한 한 단순하게 작성합니다.
- 공통 조건은 먼저 검사하면 코드가 읽기 쉬워집니다.
- 복잡한 조건은 변수에 저장해 의미를 명확히 표현합니다.
- 불필요한 중첩 대신
elif를 적극 활용합니다. - 조건이 많은 경우에는 함수로 분리하는 것도 좋은 방법입니다.
마무리
조건문은 프로그램의 흐름을 제어하는 가장 중요한 문법 중 하나입니다. if, elif, else의 기본 구조를 익히고 비교 연산자와 논리 연산자를 함께 활용하면 다양한 상황에 맞는 프로그램을 작성할 수 있습니다. 이후 반복문과 함수를 함께 학습하면 더욱 복잡한 프로그램도 구현할 수 있습니다.
FAQ
Q1. if와 elif의 차이는 무엇인가요?
if는 첫 번째 조건을 검사하고, elif는 앞선 조건이 모두 거짓일 때 다음 조건을 검사합니다.
Q2. else는 반드시 작성해야 하나요?
아니요. 조건이 참일 때만 처리하면 되는 경우에는 else를 생략할 수 있습니다.
Q3. 조건문에서 = 대신 ==를 사용하는 이유는 무엇인가요?
=는 값을 대입하는 연산자이고, ==는 두 값이 같은지 비교하는 연산자입니다.
Q4. 들여쓰기는 왜 중요한가요?
Python은 들여쓰기로 코드 블록을 구분하기 때문에 들여쓰기가 올바르지 않으면 오류가 발생합니다.
Q5. match-case와 if문 중 어떤 것을 사용해야 하나요?
조건이 다양한 비교식이라면 if가 적합하고, 하나의 값을 여러 경우와 비교하는 경우에는 match-case가 더 읽기 쉽습니다.
'python' 카테고리의 다른 글
| Python 리스트(List) (0) | 2026.07.08 |
|---|---|
| Python 함수(def) 기초와 활용법 (0) | 2026.07.07 |
| Python 반복문(for, while) (0) | 2026.07.06 |
| Python 변수와 자료형 (0) | 2026.07.02 |
| Python 설치 방법 (0) | 2026.06.30 |