파이썬 등가성과 동일성

2023. 8. 26. 16:30PYTHON

파이썬에서는 객체의 동일성과 등가성을 구분해서 처리합니다. 이 두 가지 개념은 다음과 같이 정의됩니다.

 

동일성 (Identity):

두 객체가 메모리 상에서 동일한 위치에 있는지를 나타내는 것을 말한다.

is 연산자를 사용하여 검사한다.

예: a is b 는 a와 b가 동일한 객체를 참조하고 있으면 True를 반환한다.

 

등가성(Equality):

두 객체의 내용이나 값이 같은지를 검사하는 것을 말한다.

'==' 연산자를 사용하여 검사한다.

예: 'a==b'는 'a'와 'b'의 값이 같으면 'True'를 반환한다.

 

a = [1, 2, 3]
b = [1, 2, 3]
c = a

print(a is b)  # False - a와 b는 서로 다른 메모리 위치에 있기 때문입니다.
print(a == b)  # True - a와 b의 내용(값)이 같기 때문입니다.

print(a is c)  # True - c는 a와 동일한 객체를 참조하기 때문입니다.
print(a == c)  # True - a와 c는 동일한 객체이므로 내용도 당연히 같습니다.

 

'PYTHON' 카테고리의 다른 글

[파이썬] 두 수의 최대공약수 구하기  (0) 2024.07.21
파이썬의 내포 표기법(Comprehension)  (0) 2023.08.26
알고리즘 순서도  (0) 2023.08.21
연산자와 피연산자  (0) 2023.08.20
복합문의 구조  (0) 2023.08.20