, 16 - . , short , ( , ), long.
( ), ( struct.calcsize("=l") 4 , struct.calcsize("=hl") 6 , 10, 8 long s).
, , ctypes, ctypes.Structure _pack_, ctypes.sizeof, , :
from ctypes import Structure, c_long, c_short, sizeof
class HL(Structure):
    _pack_ = 1  
    
    _fields_ = [("", c_short),
               ("", c_long)]
print(sizeof(HL))
10 .
, ( , struct, ):
from ctypes import *
FMT_TO_TYPE = dict(zip("cb?hHiIlLqQnNfd",
                       (c_char, c_byte, c_bool, c_short, c_ushort, c_int, c_uint,
                        c_long, c_ulong, c_longlong, c_ulonglong, 
                        c_ssize_t, c_size_t, c_float, c_double)))
def calcsize(fmt, pack=None):
    '''Compute size of a format string with arbitrary padding (defaults to native)'''
    class _(Structure):
        if packis not None:
            _pack_ = pack
        _fields_ = [("", FMT_TO_TYPE[c]) for c in fmt]
    return sizeof(_)
, , , :
>>> calcsize("hl")     
16
>>> calcsize("hl", 1)  
10