파이썬에서 같음 및 같지 않음 연산자 심층 분석
파이썬에서 객체의 값 비교는 프로그래밍의 기본입니다. 이 튜토리얼에서는 파이썬 객체가 동일한 값을 갖는지 확인하는 데 사용되는 같음(==) 및 같지 않음(!=) 연산자를 자세히 살펴봅니다. 다양한 코드 예시를 통해 이러한 연산자의 실제 사용법을 이해할 수 있도록 돕겠습니다.
이 가이드에서 다룰 주요 내용:
- 같지 않음(!=) 연산자의 문법과 실제 사용 예시
- 등호(==) 연산자의 문법 및 다양한 활용법
- 두 파이썬 객체의 식별자를 확인하는
is
및is not
연산자의 활용
그럼, 시작해볼까요?
파이썬 같지 않음 연산자 문법
두 객체 obj1
과 obj2
에 대해 같지 않음 연산자를 사용하는 기본적인 형식은 다음과 같습니다.
<obj1> != <obj2>
obj1
과obj2
의 값이 서로 다르면True
를 반환합니다.- 만약 값이 동일하다면
False
를 반환합니다.
참고: obj1
및 obj2
는 정수, 실수, 문자열, 리스트 등 다양한 파이썬 데이터 형식이 될 수 있습니다.
파이썬 같지 않음 연산자 코드 예제
이제 몇 가지 코드 예시를 통해 같지 않음 연산자를 좀 더 자세히 알아보겠습니다.
값 비교를 위한 같지 않음 연산자 활용
첫 번째 예시입니다.
num1 = 27
num2 = 3 * 9
num1 != num2
# 결과: False
이 코드는 온라인 파이썬 IDE나 로컬 환경에서 실행할 수 있습니다.
num1
은 27이고 num2
도 27(3 * 9 = 27)이므로 두 값은 같습니다. 따라서 !=
연산자는 False
를 반환합니다.
다른 예시를 살펴보겠습니다.
아래 코드에서 num1
은 정수 7이고 num2
는 문자열 “7”입니다. 데이터 형식이 다르므로 같지 않음 연산자는 True
를 반환합니다.
num1 = 7
num2 = "7"
num1 != num2
# 결과: True
다음과 같이 문자열을 정수로 변환하면:
num1 = 7
num2 = int("7")
num1 != num2
# 결과: False
이제 num1
과 num2
모두 정수 7이므로 결과는 False
가 됩니다.
또한, 리스트, 튜플, 집합과 같은 파이썬 컬렉션에서도 같지 않음 연산자를 사용할 수 있습니다.
참고: 리스트와 같은 데이터 컬렉션의 경우 같지 않음 연산자는 각 항목의 값을 비교하여 작동합니다. 예를 들어, 길이가 n인 두 리스트 list1
과 list2
는 list1[i] != list2[i]
가 하나 이상 존재할 때만 같지 않습니다(i는 0부터 n-1까지의 정수).
예시:
list1 = [2, 4, 6, 8]
list2 = [2, 4, 6, 9]
list1 != list2
# 결과: True
위 예시에서 list1
과 list2
는 하나의 요소만 다릅니다. 예상대로 같지 않음 연산자 !=
는 True
를 반환합니다.
조건문에서의 같지 않음 연산자 사용
같지 않음 연산자는 파이썬 조건문에서 자주 사용됩니다.
다음 코드 조각은 숫자가 홀수인지 확인하는 방법을 보여줍니다.
2로 나누어 떨어지지 않는 수는 홀수입니다. 이는 num % 2 != 0
조건으로 표현할 수 있습니다.
num = 7
if (num % 2 != 0):
print("이 숫자는 홀수입니다.")
else:
print("이 숫자는 짝수입니다.")
# 결과: 이 숫자는 홀수입니다.
리스트 컴프리헨션을 사용하여 특정 조건을 만족하는 리스트 요소만 추출할 수도 있습니다. 아래 예시에서 odd_10
은 10 미만의 모든 홀수 리스트입니다.
odd = [num for num in range(10) if num % 2 != 0]
print(odd)
# 결과: [1, 3, 5, 7, 9]
이것으로 같지 않음(!=) 연산자에 대한 설명이 끝났습니다. ✅
이제 짐작하시겠지만, 같음 연산자는 같지 않음 연산자와 반대되는 결과를 생성합니다.
다음 섹션에서 더 자세히 알아보겠습니다.
파이썬 등호 연산자 문법
파이썬에서 같음 연산자를 사용하는 방법은 다음과 같습니다.
<obj1> == <obj2> # <obj1> 및 <obj2>는 유효한 파이썬 객체
obj1
과obj2
의 값이 같으면True
를 반환합니다.- 값이 다르면
False
를 반환합니다.
파이썬 등호 연산자 코드 예제
등호 연산자(==)는 같지 않음 연산자와 매우 유사하게 사용할 수 있습니다.
다음 예제를 통해 자세히 살펴보겠습니다.
- 두 문자열이 같은지 확인하기
- 숫자가 짝수인지 확인하기
- 리스트 컴프리헨션에서 조건문 사용하기
비교를 위한 등호 연산자 사용
아래 코드에서 str1
과 str2
는 값 측면에서 동일합니다. 따라서 등호 연산자(==)는 True
를 반환합니다.
str1 = "coding"
str2 = "coding"
str1 == str2
# 결과: True
이제 조건식에서 등호 연산자를 사용해 보겠습니다.
참고: 2로 나누어 떨어지는 수는 짝수입니다. 코드에서 이는 num % 2 == 0
조건으로 표현됩니다.
num = 10
if(num % 2 == 0):
print("이 숫자는 짝수입니다.")
else:
print("이 숫자는 홀수입니다.")
# 결과: 이 숫자는 짝수입니다.
이제 위 예시를 기반으로 파이썬 리스트 컴프리헨션을 사용하여 10보다 작은 모든 짝수를 추출해 보겠습니다.
even_10 = [num for num in range(10) if num % 2 == 0]
print(even_10)
# 결과: [0, 2, 4, 6, 8]
위 예시에서,
range(10)
은 0부터 9까지의 모든 정수를 포함하는 이터러블 객체를 반환합니다.num % 2 == 0
조건은 짝수인 경우에만True
입니다.- 따라서
even_10
은 10보다 작은 모든 짝수의 리스트입니다.
지금까지 같지 않음(!=) 및 같음(==) 연산자를 사용하여 값의 동일성을 확인하는 방법을 배웠습니다.
다음 섹션에서는 두 객체의 식별자를 확인하여 객체 자체가 동일한지 확인하는 방법을 살펴보겠습니다.
파이썬의 is
및 is not
연산자 활용
파이썬 초보자는 종종 ==
와 is
연산자를 혼동합니다. 이번 섹션에서 그 차이점을 명확히 하겠습니다.
이전 섹션에서 str1
과 str2
가 같은 값을 갖고, ==
연산자가 True
를 반환하는 예시를 보았습니다.
이제 다음 코드를 실행해 봅시다.
str1 = "coding"
str2 = "coding"
str1 is str2
# 결과: False
str1 is str2
가 False
를 반환하는 것을 볼 수 있습니다.
잠시 멈춰서 파이썬의 is
연산자가 어떤 일을 하는지 알아봅시다.
is
연산자는 두 파이썬 객체에서 작동합니다. 그리고 두 객체가 정확히 동일한 객체, 즉 메모리 상에서 같은 위치를 참조하는 경우에만 True
를 반환합니다.
str1
과 str2
의 값이 같더라도, str1
은 메모리에 있는 서로 다른 두 객체를 가리키므로 str2
와 동일하지 않습니다. 따라서 식별자가 다릅니다.
==
와 is
는 다릅니다.
파이썬에서는 id()
함수를 사용하여 객체의 식별자를 얻을 수 있습니다.
▶ 다음 코드를 실행하여 str1
과 str2
의 식별자를 확인해 봅시다.
id(str1)
# 예시 출력: 139935398870320
id(str2)
# 예시 출력: 139935398871344
보시다시피 str1
과 str2
는 서로 다른 식별자를 가지고 있습니다. 따라서 str1 is str2
는 예상대로 False
를 반환합니다.
정리하자면,
<obj1> is <obj2> # id(<obj1>) == id(<obj2>) 일 때만 True를 반환
다음과 같이 빠르게 확인할 수 있습니다.
str1 = "coding"
str2 = str1
print(str1 is str2)
print(id(str1) == id(str2))
# 결과
True
True
직관적으로, is not
연산자는 is
연산자와 반대되는 역할을 합니다.
is not
연산자는 두 파이썬 객체에서 작동합니다. 두 객체가 메모리 상에서 같은 객체일 때만 False
를 반환합니다. 그렇지 않으면 True
를 반환합니다.
위의 코드 예제에서 is
를 is not
으로 바꿔 결과를 확인해 보세요.
결론 👩💻
이 튜토리얼이 도움이 되었기를 바랍니다.
요약하자면, 다음 내용을 배웠습니다.
- 같음(==) 및 같지 않음(!=) 연산자를 사용하여 두 파이썬 객체가 동일한 값을 갖는지 확인하는 방법
- 파이썬 객체의 값의 동일성과 객체 자체의 동일성 간의 차이점
- 파이썬의
is
및is not
연산자를 사용하여 두 파이썬 객체가 동일한 객체인지 확인하는 방법
여기에서 시간 차이 계산하기 또는 파이썬으로 뱀 게임 만들기를 배울 수도 있습니다.
다음 튜토리얼에서 다시 만나요. 그때까지 즐겁게 배우고 코딩하세요! 🎉