*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를 반환합니다.
-참고문헌
'Computer Science > Python' 카테고리의 다른 글
Python 딕셔너리 정렬 (Key, Value 기준 sort) (1) | 2022.04.09 |
---|---|
[Python] list 복사 ([:], copy(), deepcopy()) (0) | 2021.02.11 |
python list append() vs extend() 차이 (0) | 2021.01.31 |
[파이썬] 클래스 변수 vs 인스턴스 변수 차이 (0) | 2021.01.12 |