• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

값과 유형이 동일한 데이터의 id

20.07.06 17:26 작성 조회수 82

0

안녕하세요,

(관련 예제)

m = 800

n = 800

print(m == n)

print(type(m) == type(n))

print(id(m) == id(n))

id 함수를 다룰 때 어차피 800을 나중에 복사해서 써도 되는데 지금부터 똑같은 값을 할당해서 쓰는 것이 비효율적이라고 판단이 되어

결국 m n 은 같은 인스턴스다 라고 설명해주셨습니다.

id 함수를 다루실 때 id가 정확하게 뭔지 궁금해서 구글링을 해보았는데,

id(identity) = 각각의 객체를 식별하기 위한 고유번호, 객체가 메모리 속에 위치한 주소값이라면서

즉, 값과 유형이 동일한 데이터가 메모리 공간에 여러 개 존재할 수 있지만 이들은 서로 별개의 객체이며 정체성이 서로 다르다.

라고 설명되어 있는 글을 보았습니다.

예제에 따르면 값과 유형이 동일한 데이터는 메모리 공간에 여러개 존재할 수 없는거 아닌가요?

그것이 아니라면 어떤 상황에서 값과 유형은 동일하지만 id만 다른 경우가 존재하는지 알고 싶습니다.

답변 1

답변을 작성해보세요.

0

a = [2]

b = [2]

id 값을 출력해 보면 파이썬 데이터 자료구조에 있어서 id 값은 다르게 표시 될 수가 있습니다.

다만,

id(a[0]), id(b[0])

출력해 보시면 동일한 주소값이 표시됨을 확인하실 수 있어요.