Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 파이썬알고리즘
- 파이썬 릿코드
- leetcode 풀기
- 파이썬릿코드풀기
- leetcode풀이
- 알고리즘풀이
- 릿코드풀이
- python xor
- 릿코드 파이썬
- 알고리즘풀기
- 파이썬 알고리즘
- 파이썬 프로그래머스
- leetcode풀기
- python zip_longest
- 상가수익률계산기
- 릿코드풀기
- 코틀린기초
- python sorted
- 잇츠디모
- binary search
- python 알고리즘
- python 릿코드
- 파이썬알고리즘풀기
- LeetCode
- 파이썬릿코드
- python Leetcode
- 릿코드
- python priority queue
- 파이썬 알고리즘 풀기
- 릿코드 풀기
Archives
- Today
- Total
소프트웨어에 대한 모든 것
[파이썬] is vs == 차이는? 본문
반응형
== (equality comparison)
- Equality Operator
- operands의 value의 동일함을 비교함
is (Identity comparison)
- operands가 가리키는(refer) 오브젝트가 동일한지 체크함
== 예시 코드
list1 = [1, 2, 3]
list2 = [1, 2, 3]
if list1 == list2:
print("true")
else:
print("false")
# output
# list1과 list2의 values가 모두 동일하므로
true
is 예시 코드
list1 = [1, 2, 3]
list2 = [1, 2, 3]
if list1 is list2:
print("true")
else:
print("false")
# output
# list1과 list2는 다른 객체를 가르키므로
false
==, is 예시
list1 = [1, 2, 3]
list2 = list1[:] # make a new copy
if list1 == list2:
print("true")
else:
print("false")
if list1 is list2:
print("true")
else:
print("false")
# output
# list2는 list1으로 부터 복사되어서 values는 동일하지만 메모리의 별도의 공간을 갖는다
true
false
Summary
- is와 ==는 다르다
- is는 동일 메모리 공간을 가르키는지 체크
- ==는 가르키는 메모리 공간의 데이터가 동일한지 체크
반응형
'파이썬' 카테고리의 다른 글
[파이썬] 우선순위큐(PriorityQueue) 사용법 (0) | 2022.02.24 |
---|---|
[파이썬] sorted() 정렬 함수 파헤치기 (0) | 2022.02.24 |
[파이썬] dict to list 변환 (딕셔너리 to 리스트) (0) | 2022.02.23 |
[파이썬] zip, zip_longest 사용법 (0) | 2021.12.28 |
[파이썬] 누적 결과를 반환하는 accumulate() (0) | 2021.11.09 |
Comments