동일성 확인
Coddy Python 여정의 Logic & Flow 섹션에 포함된 레슨 — 78개 중 26번째.
Python에서 is 및 is not 연산자는 객체의 ID(identity)를 확인하는 데 사용됩니다. 두 변수의 값이 같은지 확인하는 == 연산자와 달리, is 연산자는 두 변수가 메모리상의 정확히 동일한 객체를 참조하는지 확인합니다.
is의 기본 사용법:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # 출력: True
print(a is c) # 출력: False이 예제에서 a와 b는 동일한 리스트 객체를 참조하므로 a is b는 True를 반환합니다. 하지만 a와 c는 값은 같지만 서로 다른 리스트 객체이므로 a is c는 False를 반환합니다.
is not의 기본 사용법:
x = 5
y = 5
z = 10
print(x is not y) # 출력: False
print(x is not z) # 출력: True여기서 x와 y는 동일한 정수 객체를 참조하므로(작은 정수에 대한 Python의 최적화 덕분에), x is not y는 False를 반환합니다. x와 z는 서로 다른 객체이므로, x is not z는 True를 반환합니다.
동일성 확인(Identity checks)은 단순히 값이 같은 것이 아니라, 두 변수가 메모리 상의 동일한 객체를 가리키고 있는지 확인하고자 할 때 특히 유용합니다.
챌린지
쉬움두 개의 변수 list1과 list2를 생성하세요. 여기서:
list1은 리스트[1, 2, 3]을 참조합니다.list2는 동일한 객체에 할당됩니다.
is 연산자를 사용하여 list1과 list2가 동일한 객체를 참조하는지 확인하세요.is not 연산자를 사용하여 list1과 list2가 서로 다른 객체를 참조하는지 확인하세요.
확인 결과를 출력하세요.
치트 시트
is 및 is not 연산자는 ==와 같은 단순한 값의 비교가 아니라, 메모리 내의 객체 정체성(identity)을 확인합니다.
is를 사용하여 변수가 동일한 객체를 참조하는지 확인하기:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # 출력: True
print(a is c) # 출력: Falseis not을 사용하여 변수가 서로 다른 객체를 참조하는지 확인하기:
x = 5
y = 5
z = 10
print(x is not y) # 출력: False
print(x is not z) # 출력: True정체성 확인은 두 변수가 단순히 같은 값을 가지고 있는지뿐만 아니라, 메모리 내의 동일한 객체를 가리키고 있는지를 결정합니다.
직접 해보기
# 여기에 코드를 작성하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.