@vendetta5

Почему пустой tuple занимает больше памяти, чем tuple с None?

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 байт).
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
В случае b у тебя не tuple, а просто None.
Чтобы получился tuple из одного элемента - нужно добавить запятую
b = (None,)
b.__sizeof__() # 32
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы