아니지만, 대부분의 객체가 이를 지원한다). 이 함수는 컨테이너에 대해서는 원하는 답을 제공
하지 않으니 주의하라.
몇 가지 원시 타입부터 살펴보자. 파이썬의
int
는 크기가 변하는 객체로
8
바이트
C
정수보다
훨씬 큰 범위를 지원한다, 파이썬
3
.
7
에서
0
으로 초기화한 정수를 표현하는 기본 객체는
24
바
이트다. 수를 세기 시작하면 바이트가 더 늘어난다.
In [1]: sys.getsizeof(0)
Out[1]: 24
In [2]: sys.getsizeof(1)
Out[2]: 28
In [3]: sys.getsizeof((2**30)-1)
Out[3]: 28
In [4]: sys.getsizeof((2**30))
Out[4]: 32
내부에서는 계산하는 수의 크기가 이전 한도를 넘어설 때마다
4
바이트를 추가한다. 이는 메모
리 사용량에만 영향을 끼친다. 외부에서는 차이를 느낄 수 없다.
바이트 문자열에도 같은 실험을 해볼 수 있다. 빈 바이트 시퀀스는
33
바이트를 차지하며 문자
를 하나 추가할 때마다 비용이
1
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.