Python 파이썬 is 와 == 차이점 이해하기

 이번에 공유 드릴 내용은 Python 파이썬 is 와 == 차이점 이해하기 관련 사항입니다. 간혹 동일하다 라는 의미로 코드를 작성을 하고 싶은데 is 와 == 중에 어떤 것을 사용해야 할지 혼동이 되실 때가 있습니다. 이런 분들을 위해서 제가 이 부분에 대해서 자세히 설명 드리도록 하겠습니다. 

Python 파이썬 is 와 == 차이점

 

: Python 파이썬 is 와 == 차이점을 이해하기 위해서 Python 파이썬 is 와 == 에 대한 특징을 통해서 차이점에 대해서 알아보도록 하겠습니다. 

 

1) is 연산자

  

  • is 연산자는 두 개체가 동일한 메모리 위치를 참조하는지, 즉 동일한 ID를 가지고 있는지 확인합니다.
  • 개체가 동일하면 True로, 그렇지 않으면 False로 평가됩니다.
  • 내용이 아닌 객체의 정체성을 비교합니다.

 

2) == 연산자

  • == 연산자는 두 개체의 내용이 동일한지, 즉 동일한지 여부를 확인합니다.
  • 개체의 값이 같으면 True, 그렇지 않으면 False로 평가됩니다.
  • 객체의 정체성이 아니라 객체의 내용을 비교합니다.

 

 

Python 파이썬 is 와 == 활용 예제

 

: 그럼 Python 파이썬 is 와 == 차이점을 구별할 수 있는 활용 예제를 통해서 추가적인 설명을 해드리도록 하겠습니다. 

# Define two lists with the same content

list1 = [1, 2, 3]

list2 = [1, 2, 3]

 

# Using 'is' operator

print("Using 'is' operator:")

print("list1 is list2:", list1 is list2)  # False (different identity)

 

# Using '==' operator

print("\nUsing '==' operator:")

print("list1 == list2:", list1 == list2)  # True (same content)

 위에서 구성한 예제는 동일한 요소 [1, 2, 3]을 포함하는 두 개의 목록 list1과 list2가 있습니다. 그러나 이들은 서로 다른 ID를 가진 두 개의 개별 개체입니다.

 만약 여기에서 is 연산자를 사용하게 되면 서로 다른 메모리 위치를 참조하기 때문에 “false” 를 출력하게 됩니다. 하지만 == 연산자를 사용하게 되면 list1과 list2의 내용을 비교하기 때문에 “True”가 됩니다.

  

여기까지 작성하도록 하겠습니다. 지금까지 Python 파이썬 is 와 == 차이점 이해하기 라는 내용으로 정리해서 공유를 드렸습니다. 한 줄로 요약을 하면 is 연산자는 객체 동일성을 비교하는 반면 == 연산자는 내용에 따라 객체 동등성을 비교한다라고 이해하시면 됩니다. 감사합니다. 

Leave a Comment