a = [1, 2, 3, 4]
b = a # same ref
c = list(a) # copy
a == b # True
a is b # True
a == c # True
a is c # False
파이썬에서 두 객체를 비교할 때 is 또는 == 연산자를 사용할 수 있는데, 구분해서 사용할 수 있어야 합니다.
- is: 두 변수가 동일한(Identical) 객체를 참조하는 경우 (=has same reference) True
- ==: 두 변수가 참조하는 객체가 동일한 값을 갖는 경우 True
당연히 'is not'과 !=의 관계도 이와 비슷하겠죠?
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 파이썬 GIL이란? (0) | 2021.04.22 |
---|---|
[Python] 같은 keys를 갖는 dict로 새로운 dict 계산해 만드는 법 (0) | 2021.04.20 |
[Python] del과 delattr의 차이점 (0) | 2021.03.25 |
[Django] PyCharm으로 장고 커맨드 디버그하는 법 (0) | 2021.03.07 |
[Python] 파이썬 변수, 메소드명 언더스코어(_) 의미 (0) | 2021.03.06 |