본문 바로가기
Python

03. 연산자 총정리 - 계산하고 비교하고 판단하기

by 샤나엘 2026. 2. 21.
반응형

연산자 총정리

03. 연산자 총정리 - 계산하고 비교하고 판단하기

변수에 데이터를 담는 법을 배웠으니, 이제 그 데이터를 가공할 차례다. 더하기 빼기만 있는 게 아니다. 파이썬의 연산자를 한번에 총정리해보자.


연산자란?

연산자(Operator)는 데이터를 가지고 무언가를 하는 기호다.

우리가 수학에서 +, -, ×, ÷를 쓰는 것처럼, 프로그래밍에서도 비슷한 기호를 쓴다. 다만 종류가 좀 더 많다.

파이썬 연산자 5가지 분류

 

파이썬의 연산자는 크게 5가지로 나눌 수 있다.

  1. 산술 연산자 - 계산하기
  2. 비교 연산자 - 비교하기
  3. 논리 연산자 - 판단하기
  4. 할당 연산자 - 저장하기
  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 : "밥 먹고 커피 마셔야 한다" → 둘 다 해야 OK
  • or : "밥이나 하나만 먹으면 된다" → 하나만 해도 OK
  • not : "오늘은 일 한다" → 뒤집기
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)

간단한 우선순위 (위가 먼저):

  1. () 괄호
  2. ** 거듭제곱
  3. *, /, //, % 곱하기, 나누기
  4. +, - 더하기, 빼기
  5. ==, !=, >, < 비교
  6. not
  7. and
  8. or

💡 팁: 복잡한 식은 괄호를 적극적으로 쓰자. 우선순위를 외우는 것보다 괄호로 명확히 표현하는 게 실수를 줄이는 방법이다.


직접 해보기

문제 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교육

반응형

댓글