비교연산자 ==와 is 차이점

 

글. 오상문 sualchi@daum.net


 == : 순수한 값만 비교
 is : 같은 객체 타입/ID까지도 비교

 

# 숫자 예제
print(0 == 0.0)     # True  (같은 0이므로)
print(0 is 0.0)      # False (다른 자료형이라서)


# 문자열 예제
a = '대한민국'
b = '대한민국'
c = '대한'
d = '민국'

e = c+d

 

print(id(a), id(b), id(e))    #  a,b는 같지만 e ID는 다름
print(a is b)              # True
print(a is '대한민국')  # True

 

print(e)                   # '대한민국'
print(a is e)             # False  (같은 '대한민국'이지만 ID 다름)
print(a == e)            # True  (내용이 같아서)

 

<이상>

반응형

+ Recent posts