아이덴티티 연산자

7.7. 아이덴티티 연산자

아이덴티티 연산자는 두 객체가 동일한 객체인지를 확인하는 데 사용됩니다.

파이썬의 주요 아이덴티티 연산자는 다음과 같습니다:

  • is : 동일한 객체임 (Is)

    • 두 변수가 동일한 객체를 참조하면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

  • is not : 동일한 객체가 아님 (Is not)

    • 두 변수가 동일한 객체를 참조하지 않으면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

7.7.1. 예제

다음은 아이덴티티 연산자를 사용하는 예제입니다:

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

print(a is b)  # True
print(a is c)  # False
print(a is not c)  # True
  • a is b: ab가 동일한 객체를 참조하므로 True를 반환합니다.

  • a is c: ac는 동일한 값을 가지고 있지만, 서로 다른 객체를 참조하므로 False를 반환합니다.

  • a is not c: ac는 동일한 값을 가지고 있지만, 서로 다른 객체를 참조하므로 True를 반환합니다.

7.7.2. 활용

객체의 참조를 비교할 때 유용합니다.

동일한 메모리 주소를 가르킬 경우 같은 값을 가집니다.

다음은 객체의 참조를 비교하는 예제입니다.

x = [1, 2, 3]
y = x
z = x[:]

print(x is y)  # True (y는 x와 동일한 객체를 참조)
print(x is z)  # False (z는 x의 복사본이지만 다른 객체)
print(x == z)  # True (x와 z는 동일한 값을 가짐)

맨 위로 이동