반응형
[ Python 3 ] 파이썬에선 정수 메모리를 어떻게 사용하는가?
문득 그런 생각이 들었습니다.
파이썬은 정수를 어떻게 처리할까요?
예를들어
a = 3
b = 3
a와 b는 각각 독립된 메모리가 할당 되었을까요?
아니면 두 변수의 저장 메모리는 같을까요?
실험을 해봤습니다.
0 -> 같은 메모리 사용
256-> 같은 메모리 사용
257-> 다른 메모리 사용
-5 -> 같은 메모리 사용
-6 -> 다른 메모리 사용
[ 실험 예시 ]
[ 결론 ]
파이썬에서는 [-5, 256] 내의 정수에 대해서는 이미 해당 값이 존재하면 기존 객체에 바인딩하게 됩니다.
이는 동일 값을 메모리에 여러번 할당함으로써 발생하는 메모리 낭비를 줄이기 위함이라고 합니다.
[ 참고 ]
반응형
'컴퓨터 언어 > Python' 카테고리의 다른 글
[ Python 3 ] 클래스 상속(inheritance)을 제대로 알아보자! (0) | 2022.08.15 |
---|---|
[ Python 3 ] 클래스(Class)를 제대로 알아보자! (인스턴스 속성, 클래스 속성, 메소드) (2) | 2022.08.14 |
[ Python 3 ] 딕셔너리(dictonary) 메소드 methods(update, items, keys, values, fromkeys, clear, pop) (0) | 2022.08.14 |
[ Python 3 ] 딕셔너리(dictionary) 복사시 주의!! ( copy, deepcopy ) (0) | 2022.08.13 |
[ Python 3 ] 딕셔너리(dictionary) 주의할 점 (key type, 인덱싱 가능?, 중복될 경우엔?) (0) | 2022.08.13 |