지난 포스팅에서 파이썬의 핵심 자료형들을 다루어 보았습니다. 변수에 데이터를 예쁘게 담아두었다면, 이제 그 데이터들을 계산하고 상황에 따라 다르게 동작하도록 프로그램에 '생각하는 힘'을 심어줄 차례입니다. 프로그래밍에서 계산을 담당하는 것을 연산자(Operator)라고 하고, 상황에 따라 실행할 코드를 나누는 것을 조건문(Conditional Statement)이라고 합니다. 이 두 가지는 프로그램의 논리적인 흐름을 제어하는 핵심 뼈대입니다. 이번 포스팅에서는 파이썬에서 제공하는 다양한 연산자의 종류를 살펴보고, if, elif, else를 활용해 똑똑한 조건문을 만드는 방법을 자세히 알아보겠습니다.

📌 핵심 요약 3줄
- 연산자는 수학적 계산을 하는 산술 연산자, 참/거짓을 판별하는 비교 및 논리 연산자로 나뉩니다.
- 조건문(if-elif-else)을 사용하면 사용자의 입력이나 데이터 상태에 따라 프로그램의 실행 흐름을 자유롭게 제어할 수 있습니다.
- 파이썬의 조건문은 중괄호 대신 들여쓰기(Indentation)로 코드 블록을 구분하므로 문법 규칙을 철저히 지켜야 합니다.
1. 파이썬 연산자 종류 및 예시 한눈에 보기
파이썬은 데이터를 가공하기 위해 다양한 연산자를 제공합니다. 크게 산술, 비교, 논리 연산자 3가지로 나눌 수 있습니다.
① 산술 연산자 (Arithmetic Operators)
기본적인 사칙연산과 더불어 정수 나눗셈의 몫, 나머지, 거듭제곱을 구하는 연산자입니다.
| 연산자 기호 | 기능 설명 | 코드 예시 (a = 10, b = 3) | 실행 결과 |
| + | 더하기 | print(a + b) | 13 |
| - | 빼기 | print(a - b) | 7 |
| * | 곱하기 | print(a * b) | 30 |
| / | 나누기 (실수 반환) | print(a / b) | 3.3333... |
| // | 몫 구하기 | print(a // b) | 3 |
| % | 나머지 구하기 | print(a % b) | 1 |
| ** | 거듭제곱 (a의 b제곱) | print(a ** b) | 1000 |
② 비교 연산자 (Comparison Operators)
두 값을 비교하여 참(True) 또는 거짓(False)을 반환합니다. 조건문의 조건식에 단골로 등장합니다.
| 연산자 기호 | 기능 설명 | 코드 예시 (a = 5, b = 10) | 실행 결과 |
| == | 두 값이 같은지 비교 | print(a == b) | False |
| != | 두 값이 다른지 비교 | print(a != b) | True |
| > | 왼쪽이 오른쪽보다 큰지 비교 | print(a > b) | False |
| < | 왼쪽이 오른쪽보다 작은지 비교 | print(a < b) | True |
| >= | 왼쪽이 크거나 같은지 비교 | print(a >= b) | False |
| <= | 왼쪽이 작거나 같은지 비교 | print(a <= b) | True |
③ 논리 연산자 (Logical Operators)
여러 개의 조건을 결합하거나 조건을 반전시킬 때 사용하며, 불리언(True/False) 값을 다룹니다.
a = 5; b = 10; c = 15
# and: 두 조건이 모두 참이어야 True
print(a < b and b < c) # True 이고 True 이므로 -> True
# or: 두 조건 중 하나만 참이어야 True
print(a > b or b < c) # False 이거나 True 이므로 -> True
# not: 결과를 반대로 뒤집음
print(not a < b) # True를 반전시키므로 -> False
2. 프로그램의 흐름을 바꾸는 조건문 (if, elif, else)
조건문은 "만약 ~라면 A를 하고, 그렇지 않으면 B를 해라" 구조로 컴퓨터가 상황에 맞는 판단을 내리게 조율합니다.
① 기본 if 문과 if-else 문
가장 단순한 형태로, 조건이 참일 때만 코드를 실행하거나 참과 거짓일 때의 행동을 각각 지정합니다.
score = 80
if score >= 60:
print("합격입니다!") # 조건이 참일 때 실행
else:
print("불합격입니다.") # 조건이 거짓일 때 실행
② 다중 조건을 처리하는 if-elif-else 문
검사해야 할 조건이 여러 개일 때는 elif("그렇지 않고 만약에")를 사이에 끼워 넣어 세부적으로 나눌 수 있습니다. 위에서부터 차례대로 검사하며, 가장 먼저 참이 되는 조건의 코드 블록 딱 하나만 실행하고 조건문을 빠져나갑니다.
| 조건문 단계 | 역할 및 의미 | 실행 흐름 예시 (score = 75) |
| if score >= 90: | 첫 번째 조건 검사 | 75점은 90점 이상이 아니므로 통과 (실행 X) |
| elif score >= 70: | 앞 조건이 거짓일 때 재검사 | 75점은 70점 이상이므로 참! (해당 코드 실행) |
| elif score >= 50: | 또 다른 조건 재검사 | 이미 위에서 처리되었으므로 검사하지 않고 스킵 |
| else: | 위의 모든 조건이 거짓일 때 | 모든 조건에 맞지 않을 때 최종 수행되는 방 |
③ 더 정밀한 검사를 위한 중첩 if 문
if 문 안에 또 다른 if 문을 집어넣어 한 단계 더 걸러내는 필터 역할을 할 수 있습니다.
age = 25
has_ticket = True
if age >= 20:
print("성인 인증 완료.")
if has_ticket:
print("입장이 가능합니다.")
else:
print("티켓이 없어 입장할 수 없습니다.")
3. 연산자와 조건문 결합 실습 예제
사용자가 입력한 숫자가 양수인지, 음수인지, 아니면 0인지 판별하는 간단하고 실용적인 프로그램입니다. 이전 시간에 배운 input() 형 변환과 오늘 배운 조건문이 어떻게 융합되는지 확인해 보세요.
# 사용자로부터 숫자를 입력받아 정수로 변환합니다.
number = int(input("판별할 숫자를 입력하세요: "))
if number > 0:
print("입력하신 숫자는 양수입니다.")
elif number < 0:
print("입력하신 숫자는 음수입니다.")
else:
print("입력하신 숫자는 0입니다.")
4. 개발을 위한 팁
- 논리 연산자의 단락 평가(Short-circuit Evaluation) 이해하기: 파이썬은 and 연산에서 첫 번째 조건이 거짓이면 두 번째 조건은 쳐다보지도 않고 결과를 False로 끝냅니다. 반대로 or 연산은 첫 번째 조건이 참이면 뒤의 조건은 검사하지 않고 바로 True를 반환합니다. 따라서 계산량이 많거나 복잡한 조건을 뒤쪽에 배치하면 프로그램 성능을 조금 더 올릴 수 있습니다.
- 비교 연산자 연속 사용 가능: 파이썬은 타 프로그래밍 언어와 다르게 10 < x < 20과 같은 수학적 표현을 코드로 그대로 쓸 수 있습니다. x > 10 and x < 20이라고 길게 쓰지 않아도 가독성 좋게 처리해 주니 적극적으로 활용해 보세요.
5. 흔히 하는 실수
- 콜론(:) 문법 누락: 초보자들이 조건문을 작성할 때 if, elif, else 구문 맨 끝에 콜론(:)을 빠뜨려 SyntaxError를 만나는 경우가 정말 많습니다. 파이썬에게 "이제부터 조건에 따른 실행 코드가 시작된다"고 알려주는 신호이니 잊지 마세요.
- 들여쓰기(Indentation) 불일치: 파이썬은 들여쓰기 자체가 문법입니다. if문 안에서 실행될 코드들은 반드시 동일한 깊이(보통 스페이스바 4칸 또는 Tab 1번)로 들여쓰기를 맞춰야 합니다. 줄 맞춤이 어긋나면 IndentationError가 발생해 코드가 동작하지 않습니다.
💡 맺음말
이번 포스팅에서는 파이썬 프로그램의 뇌와 근육이 되어주는 연산자와 조건문(if문)의 기초를 다져보았습니다. 사칙연산부터 시작해 상황에 따라 컴퓨터가 스스로 판단을 내리게 하는 흐름 제어까지 다루었으니, 여러분은 이제 꽤 그럴듯한 논리 구조를 짤 수 있는 기본 무기를 갖추신 셈입니다.
직접 코드를 타이핑해 보시다가 조건문 흐름이 꼬이거나 에러가 발생하면 언제든 하단 댓글로 질문을 던져주세요. 함께 고민해 드리겠습니다. 감사합니다!
'Python for AI, Embedded > Python: Core & Automation' 카테고리의 다른 글
| 파이썬(Python) 리스트 고급 기능 총정리: 컴프리헨션부터 메모리 최적화까지 (0) | 2025.06.22 |
|---|---|
| 파이썬(Python) 리스트(List) 총정리: 개념부터 인덱싱, 슬라이싱, 컴프리헨션까지 (0) | 2025.06.21 |
| 파이썬(Python) 주요 자료형 총정리: 특징부터 핵심 데이터 타입 비교까지 (0) | 2025.06.18 |
| 파이썬(Python) 기초 문법 총정리: 변수 개념부터 기본 입출력까지 (0) | 2025.06.17 |
| VS Code 파이썬 개발환경 설정 가이드: 설치부터 가상환경 venv 세팅까지 (0) | 2025.06.16 |