Python 같지 않음 및 같음 연산자를 사용하는 방법

파이썬에서 같음 및 같지 않음 연산자 심층 분석

파이썬에서 객체의 값 비교는 프로그래밍의 기본입니다. 이 튜토리얼에서는 파이썬 객체가 동일한 값을 갖는지 확인하는 데 사용되는 같음(==) 및 같지 않음(!=) 연산자를 자세히 살펴봅니다. 다양한 코드 예시를 통해 이러한 연산자의 실제 사용법을 이해할 수 있도록 돕겠습니다.

이 가이드에서 다룰 주요 내용:

  • 같지 않음(!=) 연산자의 문법과 실제 사용 예시
  • 등호(==) 연산자의 문법 및 다양한 활용법
  • 두 파이썬 객체의 식별자를 확인하는 isis not 연산자의 활용

그럼, 시작해볼까요?

파이썬 같지 않음 연산자 문법

두 객체 obj1obj2에 대해 같지 않음 연산자를 사용하는 기본적인 형식은 다음과 같습니다.

<obj1> != <obj2>
  • obj1obj2의 값이 서로 다르면 True를 반환합니다.
  • 만약 값이 동일하다면 False를 반환합니다.

참고: obj1obj2는 정수, 실수, 문자열, 리스트 등 다양한 파이썬 데이터 형식이 될 수 있습니다.

파이썬 같지 않음 연산자 코드 예제

이제 몇 가지 코드 예시를 통해 같지 않음 연산자를 좀 더 자세히 알아보겠습니다.

값 비교를 위한 같지 않음 연산자 활용

첫 번째 예시입니다.

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

이제 num1num2 모두 정수 7이므로 결과는 False가 됩니다.

또한, 리스트, 튜플, 집합과 같은 파이썬 컬렉션에서도 같지 않음 연산자를 사용할 수 있습니다.

참고: 리스트와 같은 데이터 컬렉션의 경우 같지 않음 연산자는 각 항목의 값을 비교하여 작동합니다. 예를 들어, 길이가 n인 두 리스트 list1list2list1[i] != list2[i]가 하나 이상 존재할 때만 같지 않습니다(i는 0부터 n-1까지의 정수).

예시:

list1 = [2, 4, 6, 8]
list2 = [2, 4, 6, 9]

list1 != list2

# 결과: True

위 예시에서 list1list2는 하나의 요소만 다릅니다. 예상대로 같지 않음 연산자 !=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>는 유효한 파이썬 객체
  • obj1obj2의 값이 같으면 True를 반환합니다.
  • 값이 다르면 False를 반환합니다.

파이썬 등호 연산자 코드 예제

등호 연산자(==)는 같지 않음 연산자와 매우 유사하게 사용할 수 있습니다.

다음 예제를 통해 자세히 살펴보겠습니다.

  • 두 문자열이 같은지 확인하기
  • 숫자가 짝수인지 확인하기
  • 리스트 컴프리헨션에서 조건문 사용하기

비교를 위한 등호 연산자 사용

아래 코드에서 str1str2는 값 측면에서 동일합니다. 따라서 등호 연산자(==)는 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보다 작은 모든 짝수의 리스트입니다.

지금까지 같지 않음(!=) 및 같음(==) 연산자를 사용하여 값의 동일성을 확인하는 방법을 배웠습니다.

다음 섹션에서는 두 객체의 식별자를 확인하여 객체 자체가 동일한지 확인하는 방법을 살펴보겠습니다.

파이썬의 isis not 연산자 활용

파이썬 초보자는 종종 ==is 연산자를 혼동합니다. 이번 섹션에서 그 차이점을 명확히 하겠습니다.

이전 섹션에서 str1str2가 같은 값을 갖고, == 연산자가 True를 반환하는 예시를 보았습니다.

이제 다음 코드를 실행해 봅시다.

str1 = "coding"
str2 = "coding"

str1 is str2

# 결과: False

str1 is str2False를 반환하는 것을 볼 수 있습니다.

잠시 멈춰서 파이썬의 is 연산자가 어떤 일을 하는지 알아봅시다.

is 연산자는 두 파이썬 객체에서 작동합니다. 그리고 두 객체가 정확히 동일한 객체, 즉 메모리 상에서 같은 위치를 참조하는 경우에만 True를 반환합니다.

str1str2의 값이 같더라도, str1은 메모리에 있는 서로 다른 두 객체를 가리키므로 str2와 동일하지 않습니다. 따라서 식별자가 다릅니다.

==is는 다릅니다.

파이썬에서는 id() 함수를 사용하여 객체의 식별자를 얻을 수 있습니다.

▶ 다음 코드를 실행하여 str1str2의 식별자를 확인해 봅시다.

id(str1)

# 예시 출력: 139935398870320

id(str2)

# 예시 출력: 139935398871344

보시다시피 str1str2는 서로 다른 식별자를 가지고 있습니다. 따라서 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를 반환합니다.

위의 코드 예제에서 isis not으로 바꿔 결과를 확인해 보세요.

결론 👩‍💻

이 튜토리얼이 도움이 되었기를 바랍니다.

요약하자면, 다음 내용을 배웠습니다.

  • 같음(==) 및 같지 않음(!=) 연산자를 사용하여 두 파이썬 객체가 동일한 값을 갖는지 확인하는 방법
  • 파이썬 객체의 값의 동일성과 객체 자체의 동일성 간의 차이점
  • 파이썬의 isis not 연산자를 사용하여 두 파이썬 객체가 동일한 객체인지 확인하는 방법

여기에서 시간 차이 계산하기 또는 파이썬으로 뱀 게임 만들기를 배울 수도 있습니다.

다음 튜토리얼에서 다시 만나요. 그때까지 즐겁게 배우고 코딩하세요! 🎉