- is는 reference equality. 메모리 상의 두 object를 비교한다.(object 비교)
- 두 reference가 같은 object를 가리키는지 확인할 수 있다. (값 비교)
- **==**는 value equality. 값을 비교한다. 두 object가 같은 값을 가지는지 알 수 있다.
예시를 보자.
foo = 10
dir(foo) == dir(10)
# True
dir(foo) is dir(10)
# False
- 파이썬에는 -5부터 256까지의 수가 캐싱되어 있어 이들 값을 가진 변수들은 같은 object로 간주된다는 것이다.
a = 256
b = 256
a == b
# True
a is b
# True
a = 257
b = 257
a == b
# True
a is b
# False
'Engineering WIKI > Python' 카테고리의 다른 글
[Python] pip freeze (0) | 2020.02.02 |
---|---|
[Python] shutil 함수 (0) | 2019.07.03 |
[Python] 객체와 인스턴스의 차이 (0) | 2019.07.03 |
[Python] 파이썬2,3 동시사용 (0) | 2019.07.02 |
[Python] string 모듈 (0) | 2019.05.27 |
[Python] tkinter 사용 (0) | 2019.02.14 |
[Python] 2.7 Encoding 에러 해결 (0) | 2019.01.26 |
[Python] 엑셀 코드(xlsx 파일 만들기) (0) | 2018.10.15 |