Почему bool является подклассом int?

При сохранении bool в memcached через python-memcached я заметил, что он возвращается как целое число. Проверка кода библиотеки показала мне, что есть место, где проверяется isinstance (val, int) , чтобы пометить значение как целое число.

Я протестировал его в оболочке Python и заметил следующее:

>>> isinstance(True, int)
True
>>> issubclass(bool, int)
True

Но почему именно bool является подклассом int ?

Это имеет смысл, потому что логическое значение в основном представляет собой int, которое может принимать только два значения, но для него требуется гораздо меньше операций / пространства, чем для реального целого числа (без арифметики, только один бит места для хранения) ....

79
задан ThiefMaster 23 March 2012 в 08:26
поделиться