달나라 노트

Python Basic : id (변수의 memory 주소) 본문

Python/Python Basic

Python Basic : id (변수의 memory 주소)

CosmosProject 2025. 4. 27. 13:06
728x90
반응형

 

 

 

id method는 객체(변수 등)가 저장된 memory의 주소를 정수값으로 반환해줍니다.

이 메모리 주소는 객체가 살아있는 동안에는 변하지 않고 동일합니다.

 

id(variable)

 

 

 

 

x = 10
y = 10
print(id(x))
print(id(y))


-- Result
4428267016
4428267016

 

위처럼 사용할 수 있으며 메모리 상의 주소를 return합니다.

 

메모리 주소는 변수가 다르다고 해서 무조건 다른 것은 아닙니다.

위 예시의 경우 x와 y는 서로 다른 변수이지만 동일한 10이라는 값을 가지고 있으므로 효율을 위해 캐싱하여 동일한 곳에 저장된 값을 서로 다른 변수에서 불러와 사용할 수 있도록 하기 때문입니다.

 

 

 

 

 

 

x = int(10)
y = float(10)
print(id(x))
print(id(y))


-- Result
4415634952
4417103152

 

위처럼 동일한 값이라고 해도 data type이 다르면 memory 주소도 바뀝니다.

 

 

 

 

 

x = [10, 11, 12]
y = [10, 11, 12]
print(id(x))
print(id(y))



-- Result
4495677824
4495777472

 

위 예시를 보면 x, y는 동일한 list인데 memory 주소가 다릅니다.

그 이유는 list, dictionary같이 순서가 바뀌면 달라지는 객체등의 경우 동일한 list라도 서로 다른 memory 주소에 저장됩니다.

 

 

 

 

 

728x90
반응형
Comments