На Python 2 и Python 3 bool
является подклассом int
и True == 1
.Однако в Python 3 int
является эквивалентом Python 2 long
и хранит целые числа в представлении произвольной точности.
В выполняемой сборке Python 3 это представление происходитчтобы сохранить значение 1 на 4 байта больше, чем то, что принимает представление int
в вашей сборке Python 2. Скорее всего, из-за поля ob_size
, в котором хранится длина представления произвольной точности.
Если это действительно имеет значение для программы, которую вы пишете, вы, вероятно, делаете что-то действительно сумасшедшее и / или неправильно используете getsizeof
.