본문 바로가기
컴퓨터 언어/Python

[ Python 3 ] 파이썬에선 정수 메모리를 어떻게 사용하는가?

by SuperMemi 2022. 8. 14.
반응형

[ Python 3 ] 파이썬에선 정수 메모리를 어떻게 사용하는가?


문득 그런 생각이 들었습니다.

파이썬은 정수를 어떻게 처리할까요?

 

예를들어

 

a = 3

b = 3

 

a와 b는 각각 독립된 메모리가 할당 되었을까요?

아니면 두 변수의 저장 메모리는 같을까요?

 

실험을 해봤습니다.


0 -> 같은 메모리 사용

 

256-> 같은 메모리 사용

 

257-> 다른 메모리 사용

 

-5 -> 같은 메모리 사용

 

-6 -> 다른 메모리 사용

 

[ 실험 예시 ]


[ 결론 ]

파이썬에서는 [-5, 256] 내의 정수에 대해서는 이미 해당 값이 존재하면 기존 객체에 바인딩하게 됩니다.

이는 동일 값을 메모리에 여러번 할당함으로써 발생하는 메모리 낭비를 줄이기 위함이라고 합니다.

 


[ 참고 ]

https://wikidocs.net/91522


 

 

 

반응형