파이썬 - 비교 연산자: 초보자를 위한 친절한 가이드

안녕하세요, 파이썬 프로그래머를 꿈꾸는 여러분! 여러분의 가이드로서 이 흥미로운 비교 연산자의 세계로의 여행을 동행하게 되어 기쁩니다. 파이썬을 수년간 가르치고 있었기 때문에, 이러한 개념을 마스터하면 여러분의 프로그래밍 모험에서 큰 변화를 가져올 것이라고 확신합니다. 그럼, 몸을 던지자!

Python - Comparison Operators

비교 연산자란 무엇인가요?

농구 경기에서 심판이라고 상상해보세요. 여러분의 역할은 점수, 선수의 키, 심지어 시간이 남은 시계를 비교하는 것입니다. 파이썬에서는 비교 연산자가 비슷한 역할을 합니다 - 값들을 비교하고 이러한 비교를 기반으로 의사결정을 합니다.

파이썬의 다양한 비교 연산자

다음은 우리가 탐구할 모든 비교 연산자의 쉬운 표입니다:

연산자 이름 예제
== 같다 x == y
!= 다르다 x != y
> 더 크다 x > y
< 더 작다 x < y
>= 더 크거나 같다 x >= y
<= 더 작거나 같다 x <= y

이제 이들을 하나씩 살펴보겠습니다. 재미있는 예제들과 함께!

같다 (==) 연산자

x = 5
y = 5
print(x == y)  # 출력: True

name1 = "Alice"
name2 = "Bob"
print(name1 == name2)  # 출력: False

여기서 우리는 파이썬에게 "x와 y는 같은가?"라고 묻습니다. 첫 번째 경우는 둘 다 5이므로 True입니다. 이름들의 경우, Alice와 Bob은 다르므로 False입니다.

다르다 (!=) 연산자

age1 = 25
age2 = 30
print(age1 != age2)  # 출력: True

favorite_color = "blue"
print(favorite_color != "green")  # 출력: True

이 연산자는 "이것과 그것은 다른가?"라고 묻는 것과 같습니다. 값이 다르면 True, 같으면 False입니다.

더 크다 (>)와 더 작다 (<) 연산자

temperature = 28
print(temperature > 25)  # 출력: True
print(temperature < 30)  # 출력: True

alphabet = "abc"
print("d" > alphabet)  # 출력: True

이 연산자들은 수학에서와 같이 작동합니다. 하지만 문자열을 비교할 수 있다는 점을 눈빛이 빨갛게 봅시다. 파이썬은 알파벳순으로 비교합니다.

더 크거나 같다 (>=)와 더 작거나 같다 (<=) 연산자

score = 85
print(score >= 80)  # 출력: True
print(score <= 90)  # 출력: True

print("apple" <= "banana")  # 출력: True

이들은 >와 <와 비슷하지만, 값이 같을 때도 True를 반환합니다.

浮点数 비교

피부점수를 비교하는 것은 정밀성 문제로 인해 까다로울 수 있습니다. 예를 들어보겠습니다:

x = 0.1 + 0.2
y = 0.3
print(x == y)  # 출력: False

기대했던 0.1 + 0.2가 0.3과 같지 않다는 것인가요? 컴퓨터가 소수점을 표현하는 방식 때문에 가끔씩 아주 작은 불일치가 발생합니다. 실용적인 비교를 위해 round() 함수나 작은 허용 오차를 사용할 수 있습니다:

print(round(x, 1) == round(y, 1))  # 출력: True

tolerance = 0.0001
print(abs(x - y) < tolerance)  # 출력: True

복소수 비교

파이썬은 우리가 복소수로 작업할 수 있게 합니다! 하지만, <나 >와 같은 직접 비교는 수학적으로 많은 의미가 없어 파이썬에서는 허용하지 않습니다:

a = 1 + 2j
b = 3 + 4j
print(a == b)  # 출력: False
# print(a < b)  # 이는 에러를 일으킵니다!

그러나 그 크기를 비교할 수 있습니다:

print(abs(a) < abs(b))  # 출력: True

불리언 비교

불리언은 간단합니다 - True는 False보다 크다고 간주됩니다:

print(True > False)  # 출력: True
print(True == 1)  # 출력: True
print(False == 0)  # 출력: True

마지막 부분은 당신을 놀라게 할 수 있습니다 - 파이썬에서 True는 실제로 1과 같고, False는 0과 같습니다!

시퀀스 형 비교

리스트, 튜플, 문자열과 같은 시퀀스를 비교할 때, 파이썬은 요소별로 비교합니다:

print([1, 2, 3] < [1, 2, 4])  # 출력: True
print("hello" < "hello world")  # 출력: True
print((1, 2, 3) == (1, 2, 3))  # 출력: True

파이썬은 처음부터 시작하여 각 요소를 비교하고 차이를 발견하거나 끝에 도달할 때까지 계속합니다.

딕셔너리 객체 비교

딕셔너리는 약간 특별합니다. 서로 같은지 확인할 수는 있지만, <, >, <=, >=를 사용할 수 없습니다:

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 2, "a": 1}
print(dict1 == dict2)  # 출력: True

# print(dict1 < dict2)  # 이는 에러를 일으킵니다!

흥미로운 것은, 딕셔너리에서 키의 순서는 동등성 비교에는 중요하지 않다는 점입니다.

그리고 이렇게 끝납니다! 여러분은 파이썬의 비교 연산자에 대한 몰락한 여행을 마쳤습니다. 기억하십시오, 연습이 실력을 만든다는 말이 있습니다. 여러분의 코드에서 이러한 개념을 실험해 보세요. 알고보면, 여러분은 이미 최고의 비교와 대비 비교를 할 준비가 되어 있을 테니까요!

코딩을 즐겁게, 여러분의 비교가 항상 원하는대로 True가 되길 바랍니다!

Credits: Image by storyset