
03. 연산자 총정리 - 계산하고 비교하고 판단하기
변수에 데이터를 담는 법을 배웠으니, 이제 그 데이터를 가공할 차례다. 더하기 빼기만 있는 게 아니다. 파이썬의 연산자를 한번에 총정리해보자.
연산자란?
연산자(Operator)는 데이터를 가지고 무언가를 하는 기호다.
우리가 수학에서 +, -, ×, ÷를 쓰는 것처럼, 프로그래밍에서도 비슷한 기호를 쓴다. 다만 종류가 좀 더 많다.

파이썬의 연산자는 크게 5가지로 나눌 수 있다.
- 산술 연산자 - 계산하기
- 비교 연산자 - 비교하기
- 논리 연산자 - 판단하기
- 할당 연산자 - 저장하기
- 멤버십 연산자 - 포함 여부 확인
1. 산술 연산자 - 계산하기
가장 익숙한 연산자. 숫자를 가지고 계산할 때 쓴다.
| 연산자 | 의미 | 예시 | 결과 |
|---|---|---|---|
| + | 더하기 | 10 + 3 | 13 |
| - | 빼기 | 10 - 3 | 7 |
| * | 곱하기 | 10 * 3 | 30 |
| / | 나누기 | 10 / 3 | 3.333... |
| // | 몫 (정수 나눗셈) | 10 // 3 | 3 |
| % | 나머지 | 10 % 3 | 1 |
| ** | 거듭제곱 | 2 ** 10 | 1024 |
print(10 + 3) # 13
print(10 - 3) # 7
print(10 * 3) # 30
print(10 / 3) # 3.3333...
print(10 // 3) # 3 (몫)
print(10 % 3) # 1 (나머지)
print(2 ** 10) # 1024 (2의 10승)
몫과 나머지, 언제 쓸까?
처음엔 //과 %가 낯설 수 있다. 하지만 실전에서 꽤 자주 쓴다.
# 예시 1: 분을 시간과 분으로 변환
total_minutes = 135
hours = total_minutes // 60 # 2시간
minutes = total_minutes % 60 # 15분
print(f"{hours}시간 {minutes}분") # 2시간 15분
# 예시 2: 짝수/홀수 판별
number = 7
if number % 2 == 0:
print("짝수")
else:
print("홀수") # 홀수
💡 팁:
%연산자로 2로 나눈 나머지가 0이면 짝수, 1이면 홀수다. 이건 정말 많이 쓰는 패턴이니 꼭 기억해두자.
2. 비교 연산자 - 비교하기
두 값을 비교해서 True 또는 False를 돌려준다. 나중에 조건문에서 핵심적으로 쓰인다.

| 연산자 | 의미 | 예시 | 결과 |
|---|---|---|---|
| == | 같다 | 5 == 5 | True |
| != | 같지 않다 | 5 != 3 | True |
| > | 크다 | 5 > 3 | True |
| < | 작다 | 5 < 3 | False |
| >= | 크거나 같다 | 5 >= 5 | True |
| <= | 작거나 같다 | 5 <= 3 | False |
age = 20
print(age == 20) # True
print(age != 25) # True
print(age > 18) # True
print(age < 15) # False
print(age >= 20) # True
print(age <= 19) # False
⚠️ 주의:
=와==는 전혀 다르다!
=: 값을 저장 (할당)==: 값이 같은지 비교
age = 20은 "age에 20을 넣어라",age == 20은 "age가 20과 같냐?"라는 뜻이다.
문자열도 비교 가능
print("apple" == "apple") # True
print("apple" != "banana") # True
print("a" < "b") # True (알파벳 순서)
print("가" < "나") # True (한글도 순서 비교 가능)
3. 논리 연산자 - 판단하기
여러 조건을 조합할 때 쓴다.
| 연산자 | 의미 | 예시 | 결과 |
|---|---|---|---|
| and | 둘 다 참이면 참 | True and True | True |
| or | 하나라도 참이면 참 | True or False | True |
| not | 참↔거짓 뒤집기 | not True | False |
일상에서 비유하면 이렇다.
and: "밥도 먹고 커피도 마셔야 한다" → 둘 다 해야 OKor: "밥이나 빵 중 하나만 먹으면 된다" → 하나만 해도 OKnot: "오늘은 일 안 한다" → 뒤집기
age = 25
has_id = True
# and: 둘 다 만족해야 True
print(age >= 19 and has_id) # True (성인이고 신분증 있음)
# or: 하나만 만족하면 True
print(age < 19 or has_id) # True (미성년은 아니지만 신분증 있음)
# not: 뒤집기
print(not False) # True
print(not (age > 30)) # True (30보다 크지 않으니까)
실전 예시: 로그인 조건
username = "admin"
password = "1234"
# 아이디와 비밀번호 모두 맞아야 로그인 성공
is_valid = (username == "admin") and (password == "1234")
print(f"로그인 성공: {is_valid}") # 로그인 성공: True
4. 할당 연산자 - 저장하기
변수에 값을 저장하거나, 저장된 값을 수정할 때 쓴다.
| 연산자 | 의미 | 풀어쓰면 | 예시 |
|---|---|---|---|
| = | 값 저장 | - | x = 10 |
| += | 더해서 저장 | x = x + 3 | x += 3 |
| -= | 빼서 저장 | x = x - 3 | x -= 3 |
| *= | 곱해서 저장 | x = x * 3 | x *= 3 |
| /= | 나눠서 저장 | x = x / 3 | x /= 3 |
score = 0
score += 10 # 10점 추가 (score = 0 + 10)
print(score) # 10
score += 20 # 20점 추가 (score = 10 + 20)
print(score) # 30
score -= 5 # 5점 감점 (score = 30 - 5)
print(score) # 25
score *= 2 # 2배 (score = 25 * 2)
print(score) # 50
💡 팁:
+=는 게임 점수, 카운터, 누적 합산 등에서 정말 자주 쓴다.x = x + 1대신x += 1로 짧게 쓸 수 있다.
5. 멤버십 연산자 - 포함 여부 확인
어떤 값이 데이터 안에 포함되어 있는지 확인할 때 쓴다.
| 연산자 | 의미 | 예시 | 결과 |
|---|---|---|---|
| in | 포함되어 있으면 True | "a" in "apple" | True |
| not in | 포함되어 있지 않으면 True | "z" not in "apple" | True |
# 문자열에서 포함 확인
message = "파이썬 독학 블로그"
print("파이썬" in message) # True
print("자바" in message) # False
print("자바" not in message) # True
# 리스트에서 포함 확인 (리스트는 나중에 자세히 배운다)
fruits = ["사과", "바나나", "포도"]
print("사과" in fruits) # True
print("수박" in fruits) # False
연산자 우선순위
수학에서 곱셈이 덧셈보다 먼저 계산되는 것처럼, 파이썬에도 연산자 우선순위가 있다.
# 곱셈이 덧셈보다 먼저
print(2 + 3 * 4) # 14 (3*4 먼저, 그 다음 +2)
# 괄호로 순서를 바꿀 수 있다
print((2 + 3) * 4) # 20 (2+3 먼저, 그 다음 *4)
간단한 우선순위 (위가 먼저):
()괄호**거듭제곱*,/,//,%곱하기, 나누기+,-더하기, 빼기==,!=,>,<비교notandor
💡 팁: 복잡한 식은 괄호를 적극적으로 쓰자. 우선순위를 외우는 것보다 괄호로 명확히 표현하는 게 실수를 줄이는 방법이다.
직접 해보기
문제 1. 아래 식의 결과를 예측해보자. (직접 실행해서 확인!)
print(17 // 5)
print(17 % 5)
print(2 ** 8)
print(10 + 3 * 2)
print((10 + 3) * 2)
문제 2. 초(seconds)를 입력받아 분과 초로 변환하는 프로그램을 만들어보자.
예시: 200초 → 3분 20초
문제 3. 아래 변수 값을 기준으로 각 조건식의 결과를 예측해보자.
x = 15
y = 10
name = "파이썬"
print(x > y and x < 20)
print(x == 15 or y == 20)
print(not (x > y))
print("파이" in name)
정답 보기
# 문제 1
print(17 // 5) # 3 (몫)
print(17 % 5) # 2 (나머지)
print(2 ** 8) # 256 (2의 8승)
print(10 + 3 * 2) # 16 (곱셈 먼저)
print((10 + 3) * 2) # 26 (괄호 먼저)
# 문제 2
total_seconds = 200
minutes = total_seconds // 60 # 3
seconds = total_seconds % 60 # 20
print(f"{total_seconds}초 → {minutes}분 {seconds}초")
# 문제 3
x = 15
y = 10
name = "파이썬"
print(x > y and x < 20) # True (둘 다 참)
print(x == 15 or y == 20) # True (첫 번째가 참)
print(not (x > y)) # False (True를 뒤집으면)
print("파이" in name) # True (포함됨)
오늘의 정리
| 분류 | 핵심 연산자 |
|---|---|
| 산술 연산자 | + - * / // % ** |
| 비교 연산자 | == != > < >= <= |
| 논리 연산자 | and or not |
| 할당 연산자 | = += -= *= /= |
| 멤버십 연산자 | in not in |
다음 편 예고: 문자열 다루기 - 텍스트와 친해지기
문자열을 자르고, 붙이고, 검색하고, 바꾸는 방법을 배워보자. 인덱싱, 슬라이싱, 주요 메서드까지 한번에 정리한다.
태그: 파이썬 Python 파이썬독학 연산자 산술연산자 비교연산자 논리연산자 할당연산자 파이썬기초 IT교육
'Python' 카테고리의 다른 글
| 06. 주석과 코딩 스타일 - 읽기 좋은 코드 만들기 (2) | 2026.02.21 |
|---|---|
| 05. 입력과 출력 - 사용자와 대화하기 (0) | 2026.02.21 |
| 04. 문자열 다루기 - 텍스트와 친해지기 (0) | 2026.02.21 |
| 02. 변수와 자료형 - 데이터를 담는 그릇 (0) | 2026.02.21 |
| 01. 파이썬, 왜 배우기로 했을까 (0) | 2026.02.21 |
댓글