컴퓨터 언어/Python
[ Python 3 ] 파이썬에선 정수 메모리를 어떻게 사용하는가?
SuperMemi
2022. 8. 14. 22:07
반응형
[ Python 3 ] 파이썬에선 정수 메모리를 어떻게 사용하는가?
문득 그런 생각이 들었습니다.
파이썬은 정수를 어떻게 처리할까요?
예를들어
a = 3
b = 3
a와 b는 각각 독립된 메모리가 할당 되었을까요?
아니면 두 변수의 저장 메모리는 같을까요?
실험을 해봤습니다.
0 -> 같은 메모리 사용
256-> 같은 메모리 사용
257-> 다른 메모리 사용
-5 -> 같은 메모리 사용
-6 -> 다른 메모리 사용
[ 실험 예시 ]
[ 결론 ]
파이썬에서는 [-5, 256] 내의 정수에 대해서는 이미 해당 값이 존재하면 기존 객체에 바인딩하게 됩니다.
이는 동일 값을 메모리에 여러번 할당함으로써 발생하는 메모리 낭비를 줄이기 위함이라고 합니다.
[ 참고 ]
반응형