본문 바로가기
Computer Science/Python

[Python] is 와 == 의 차이

by sohyunwriter 2021. 1. 26.

*is / == 차이

  • == is for value equality. Use it when you would like to know if two objects have the same value.
  • is is for reference equality. Use it when you would like to know if two references refer to the same object.

즉, is는 변수가 같은 Object(객체)를 가리키면 True

==는 변수가 같은 Value(값)을 가지면 True

 

*is의 예시

- a와 b는 같은 리스트 객체를 가리킨다

- a와 b는 같은 객체이기 때문에 True

- a와 c는 값은 같지만 다른 객체이기 때문에 False

# 리스트 선언
a = [1, 2, 3]
b = a
c = [1, 2, 3]

# is 비교
a is b  # True (서로 같은 객체를 가리킴)
a is c  # False (안에 들은 값은 같지만, 서로 다른 객체)

 

*==의 예시

- a와 b는 같은 리스트 객체를 가리킨다

- a와 b는 값들을 가진 리스트이기 때문에 True

- a와 c는 값들을 가진 리스트이기 때문에 True

# 리스트 선언
a = [1, 2, 3]
b = a
c = [1, 2, 3]

# == 비교
a == b  # True (서로 같은 값을 가짐)
a == c  # True (서로 같은 값을 가짐)

 


-관련질문

 

Q. 파이썬의 is / == 차이

 

A.

==은 value equality, is는 reference equality를 비교하는 것을 말합니다. is는 변수가 같은 Object(객체)를 가리키면 True를 반환합니다. 한편 ==의 경우 변수가 같은 Value(값)을 가지면 True를 반환합니다.

 

 

 

 

-참고문헌