a = ()
print(a.__sizeof__())
b = (None)
print(b.__sizeof__())
c = (None, None)
print(c.__sizeof__())
При таком коде мы получаем
24
16
40
Описание sizeof - """ Size of object in memory, in bytes. """
Почему получается так, что пустой tuple весит на 8 байт больше, чем tuple с None внутри? Но два None в tuple занимают столько же пространства, сколько два числа (40 байт).