ctypes in Python-Größe mit der Methode `sys.getsizeof (Var)` vs `ctypes.sizeof (Var)`
Ich habe eine Frage zur Variablengröße in Python. Ich verwende die C-Typen, weil ich eine 1-Byte-Zahl haben möchte. Als ich jedoch versuchte, die Größe in Python zu überprüfen (über @sys.getsize
) es sagte, dass es 80 Byte war, aber als ich mit den ctypes überprüfte (überctypes.sizeof
) es hieß es war nur 1 byte, kann mir jemand sagen was der unterschied ist und warum gibt es 2 verschiedene größen? liegt es daran, dass Python ein Objekt oder einen Wrapper verwendet? und wenn es an c gesendet wird, sieht es die wahre Größe?
import sys
import ctypes
print("size in ctypes is : ",ctypes.sizeof(ctypes.c_byte(1)))
print("size in sys is : ",sys.getsizeof(ctypes.c_byte(1)))
Ergebnisse in
size in ctypes is : 1
size in sys is : 80