어쨌든 파이썬에서 특정 변수에 의해 얼마나 많은 바이트가 찍혔는지 알 수 있습니까? 예 : 이파이썬 변수에 의해 취해진 바이트 수를 찾는 방법
<class 'int'>
를 인쇄합니다 내가
int = 12
print (type(int))
이 있다고하지만 난이 메모리에 취한 얼마나 많은 바이트 알고 싶어 할 수 있습니다? 그것은 가능한가?
어쨌든 파이썬에서 특정 변수에 의해 얼마나 많은 바이트가 찍혔는지 알 수 있습니까? 예 : 이파이썬 변수에 의해 취해진 바이트 수를 찾는 방법
<class 'int'>
를 인쇄합니다 내가
int = 12
print (type(int))
이 있다고하지만 난이 메모리에 취한 얼마나 많은 바이트 알고 싶어 할 수 있습니다? 그것은 가능한가?
here (sys.getsizeof
- Python 2.6 이상)에서 찾고있는 기능을 찾을 수 있습니다.
기타 : int
내장!
import sys
myint = 12
print sys.getsizeof(myint)
파이썬> = 2.6에서는 sys.getsizeof을 사용할 수 있습니다.
, 당신은 다른 사람이 이미 지적 그렇지 않으면, getsizeof (2.6)를 사용하여 구조체를
>>> import struct
>>> struct.calcsize("i")
4
를 사용할 수 있습니다. 시도 할 수있는 recipe도 있습니다. 파이썬 명령 프롬프트에
, 당신은 기능
$ import python
$ import ctypes
$ ctypes.sizeof(ctypes.c_int)
의 크기를 사용하고 NumPy와 데이터 크기를 제어하기위한 인프라를 제공 https://docs.python.org/2/library/ctypes.html
에서에 대한 자세한 내용을보실 수 있습니다. 다음은 예 (py3) :
import numpy as np
x = np.float32(0)
print(x.nbytes) # 4
a = np.zeros((15, 15), np.int64)
print(a.nbytes) # 15 * 15 * 8 = 1800
예를 들어, pyopengl와 그래픽 카드에 데이터를 전송하려고 할 때 이것은 매우 유용합니다.
파이썬 3에서는 sys.getsizeof()를 사용할 수 있습니다.
import sys
myint = 12
print(sys.getsizeof(myint))
실제로는 intint의 크기가 14를 반환하고 있습니다. int가 4 바이트를 차지한다는 것을 알기 때문에 전체 객체의 크기를 반환한다고 생각합니다. 단지 "INT" – itsaboutcode
docs :'getsizeof'는 객체의'__sizeof__' 메소드를 호출하고 객체가 가비지 컬렉터에 의해 관리되는 경우 추가 가비지 콜렉터 오버 헤드를 추가합니다. –
itsaboutcode : 파이썬 영역을 떠나시겠습니까? 어떤 질문을 * 정말로 대답하고 싶습니까? 4를 답으로 원한다면,'def sizeof (o) : return 4'. – u0b34a0f6ae