Menu
Coddy logo textTech

동일성 확인

Coddy Python 여정의 Logic & Flow 섹션에 포함된 레슨 — 78개 중 26번째.

Python에서 isis 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

이 예제에서 ab는 동일한 리스트 객체를 참조하므로 a is bTrue를 반환합니다. 하지만 ac는 값은 같지만 서로 다른 리스트 객체이므로 a is cFalse를 반환합니다.

is not의 기본 사용법:

x = 5
y = 5
z = 10

print(x is not y)  # 출력: False
print(x is not z)  # 출력: True

여기서 xy는 동일한 정수 객체를 참조하므로(작은 정수에 대한 Python의 최적화 덕분에), x is not yFalse를 반환합니다. xz는 서로 다른 객체이므로, x is not zTrue를 반환합니다.

동일성 확인(Identity checks)은 단순히 값이 같은 것이 아니라, 두 변수가 메모리 상의 동일한 객체를 가리키고 있는지 확인하고자 할 때 특히 유용합니다.

challenge icon

챌린지

쉬움

두 개의 변수 list1list2를 생성하세요. 여기서:

  • list1은 리스트 [1, 2, 3]을 참조합니다.
  • list2는 동일한 객체에 할당됩니다.

is 연산자를 사용하여 list1list2가 동일한 객체를 참조하는지 확인하세요.
is not 연산자를 사용하여 list1list2가 서로 다른 객체를 참조하는지 확인하세요.
확인 결과를 출력하세요.

치트 시트

isis not 연산자는 ==와 같은 단순한 값의 비교가 아니라, 메모리 내의 객체 정체성(identity)을 확인합니다.

is를 사용하여 변수가 동일한 객체를 참조하는지 확인하기:

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

print(a is b)  # 출력: True
print(a is c)  # 출력: False

is not을 사용하여 변수가 서로 다른 객체를 참조하는지 확인하기:

x = 5
y = 5
z = 10

print(x is not y)  # 출력: False
print(x is not z)  # 출력: True

정체성 확인은 두 변수가 단순히 같은 값을 가지고 있는지뿐만 아니라, 메모리 내의 동일한 객체를 가리키고 있는지를 결정합니다.

직접 해보기

# 여기에 코드를 작성하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Logic & Flow의 모든 레슨