본문 바로가기

Python

1-7. 파이썬 기본 연산자 (산술, 비교, 논리)

안녕하세요! 지난 시간에는 print() 함수와 input() 함수를 통해 파이썬 프로그램이 사용자와 소통하는 방법을 배웠습니다. 이제 데이터를 화면에 출력하고, 사용자로부터 입력받을 수 있게 되었죠.

이번 시간에는 파이썬에서 데이터를 가지고 다양한 계산, 비교, 논리적 판단을 할 수 있게 해주는 **연산자(Operator)**에 대해 알아보겠습니다. 연산자는 프로그램이 데이터를 처리하고 조작하는 핵심적인 도구입니다.

크게 산술 연산자, 비교 연산자, 논리 연산자 세 가지를 중심으로 살펴보겠습니다.


Part 1: 산술 연산자 (Arithmetic Operators) - 숫자 계산하기

산술 연산자는 숫자를 대상으로 덧셈, 뺄셈, 곱셈, 나눗셈 등 수학적인 계산을 수행할 때 사용됩니다.

연산자의미예시결과
+ 덧셈 10 + 5 15
- 뺄셈 10 - 5 5
* 곱셈 10 * 5 50
/ 나눗셈 10 / 5 2.0
// 정수 나눗셈 10 // 3 3
% 나머지 10 % 3 1
** 거듭제곱 2 ** 3 8
Sheets로 내보내기
  • // (정수 나눗셈): 나눈 결과의 소수점 이하를 버리고 정수 부분만 반환합니다.
  • % (나머지): 나눈 후의 나머지를 반환합니다.

예시:

Python
 
# 파일 이름: arithmetic_operators.py

# 덧셈
result_plus = 10 + 5
print(f"10 + 5 = {result_plus}")

# 뺄셈
result_minus = 10 - 5
print(f"10 - 5 = {result_minus}")

# 곱셈
result_multiply = 10 * 5
print(f"10 * 5 = {result_multiply}")

# 나눗셈 (결과는 항상 실수형 float)
result_divide = 10 / 3
print(f"10 / 3 = {result_divide}")

# 정수 나눗셈 (결과는 정수형 int)
result_floor_divide = 10 // 3
print(f"10 // 3 = {result_floor_divide}")

# 나머지 연산
result_modulo = 10 % 3
print(f"10 % 3 = {result_modulo}")

# 거듭제곱
result_power = 2 ** 3
print(f"2 ** 3 = {result_power}")

# 변수를 이용한 연산
num1 = 20
num2 = 7
sum_nums = num1 + num2
product_nums = num1 * num2
print(f"변수 {num1}과 {num2}의 합: {sum_nums}")
print(f"변수 {num1}과 {num2}의 곱: {product_nums}")

파이썬 산술 연산자 결과 예시


Part 2: 비교 연산자 (Comparison Operators) - 값 비교하기

비교 연산자는 두 값의 크기나 같음 여부를 비교할 때 사용됩니다. 비교 연산의 결과는 항상 불린(Boolean) 자료형, 즉 True 또는 False 입니다. (이전 1-5 포스팅에서 배운 불린 자료형 기억나시죠?)

연산자의미예시결과
== 값이 같다 10 == 10 True
!= 값이 다르다 10 != 5 True
> 왼쪽이 크다 10 > 5 True
< 왼쪽이 작다 10 < 5 False
>= 왼쪽이 크거나 같다 10 >= 10 True
<= 왼쪽이 작거나 같다 10 <= 5 False
Sheets로 내보내기

예시:

Python
 
# 파일 이름: comparison_operators.py

# 같음 비교 (==)
print(f"10 == 10 결과: {10 == 10}") # True
print(f"5 == 10 결과: {5 == 10}")   # False
print(f"'Python' == 'Python' 결과: {'Python' == 'Python'}") # True
print(f"'Python' == 'python' 결과: {'Python' == 'python'}") # False (대소문자 구분)

# 다름 비교 (!=)
print(f"10 != 5 결과: {10 != 5}")   # True
print(f"10 != 10 결과: {10 != 10}") # False

# 크다/작다 (>, <)
print(f"20 > 10 결과: {20 > 10}")   # True
print(f"20 < 10 결과: {20 < 10}")   # False

# 크거나 같다/작거나 같다 (>=, <=)
print(f"10 >= 10 결과: {10 >= 10}") # True
print(f"10 >= 5 결과: {10 >= 5}")   # True
print(f"5 <= 10 결과: {5 <= 10}")   # True
print(f"10 <= 5 결과: {10 <= 5}")   # False

# 변수를 이용한 비교
score = 85
pass_score = 60
print(f"점수({score})가 합격점({pass_score})보다 크거나 같은가? {score >= pass_score}")

 

 

파이썬 비교 연산자 결과 예시


Part 3: 논리 연산자 (Logical Operators) - 조건 조합하기

논리 연산자는 여러 개의 불린 값(True/False)이나 비교 결과들을 조합하여 하나의 불린 값을 만들어낼 때 사용됩니다.

연산자의미예시결과
and 그리고 (모두 참일 때만 참) True and True True
or 또는 (하나라도 참이면 참) True or False True
not 아니다 (반대) not True False
Sheets로 내보내기

1. and 연산자

  • 두 조건이 모두 참(True)일 때만 True를 반환합니다.
  • 둘 중 하나라도 거짓(False)이면 False를 반환합니다.

2. or 연산자

  • 두 조건 중 하나라도 참(True)이면 True를 반환합니다.
  • 두 조건이 모두 거짓(False)일 때만 False를 반환합니다.

3. not 연산자

  • 현재 불린 값의 논리적인 반대를 반환합니다. True는 False로, False는 True로 바꿉니다.

예시:

Python
 
# 파일 이름: logical_operators.py

# and 연산자
print(f"True and True: {True and True}")     # True
print(f"True and False: {True and False}")   # False
print(f"False and True: {False and True}")   # False
print(f"False and False: {False and False}") # False

# or 연산자
print(f"True or True: {True or True}")       # True
print(f"True or False: {True or False}")     # True
print(f"False or True: {False or True}")     # True
print(f"False or False: {False or False}")   # False

# not 연산자
print(f"not True: {not True}")     # False
print(f"not False: {not False}")   # True

# 비교 연산자와 논리 연산자 조합
age = 25
has_license = True

# 20세 이상이고 면허가 있다면
can_drive = (age >= 20) and has_license
print(f"운전할 수 있는가? ({age}세 이상 AND 면허 소지): {can_drive}") # True

# 100점 이상이거나 0점 이하인가?
score = 95
is_invalid_score = (score > 100) or (score < 0)
print(f"점수({score})가 유효하지 않은가? (100 초과 OR 0 미만): {is_invalid_score}") # False

# 성인이 아닌가?
is_adult = False
print(f"성인이 아닌가? (not 성인): {not is_adult}") # True

 

파이썬 논리 연산자 예시

 


연산자 우선순위 (간단히)

여러 연산자가 한 줄에 있을 때는 어떤 연산이 먼저 수행될까요? 수학과 비슷하게 연산자마다 우선순위가 있습니다.

  1. 괄호 ()
  2. 거듭제곱 **
  3. 단항 연산자 (-, +) (예: -5)
  4. 곱셈 *, 나눗셈 /, 정수 나눗셈 //, 나머지 %
  5. 덧셈 +, 뺄셈 -
  6. 비교 연산자 ==, !=, >, <, >=, <=
  7. 논리 연산자 not, and, or

우선순위가 헷갈릴 때는 괄호 ()를 사용하여 명확하게 연산 순서를 지정해주는 것이 좋습니다.

예시:

Python
 
# 우선순위 예시
# 2 + 3 * 4 -> 3 * 4 먼저 계산
result1 = 2 + 3 * 4
print(f"2 + 3 * 4 = {result1}") # 결과: 14

# 괄호를 사용하여 순서 변경
# (2 + 3) * 4 -> 2 + 3 먼저 계산
result2 = (2 + 3) * 4
print(f"(2 + 3) * 4 = {result2}") # 결과: 20

마무리하며

이번 시간에는 파이썬의 가장 기본적인 연산자인 산술 연산자, 비교 연산자, 논리 연산자에 대해 자세히 알아보았습니다. 이 연산자들은 여러분이 데이터를 계산하고, 조건을 판단하며, 복잡한 로직을 구성하는 데 필수적인 도구입니다.

이제 여러분은 단순한 출력과 입력뿐만 아니라, 데이터에 대한 기본적인 조작과 판단까지 프로그램으로 구현할 수 있게 되었습니다.

다음 포스팅에서는 이 연산자들을 활용하여 프로그램의 흐름을 제어하는 **조건문(if, elif, else)**에 대해 알아보겠습니다.


궁금한 점이 있다면 언제든지 질문해주세요! 다음 포스팅에서 만나요!

반응형