Por que bool é uma subclasse de int?

Ao armazenar um bool no memcached através do python-memcached, notei que ele retornou como um número inteiro. A verificação do código da biblioteca me mostrou que há um lugar ondeisinstance(val, int) está marcado para sinalizar o valor como um número inteir

Então eu testei no shell python e notei o seguinte:

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

Mas por que exatamente ébool uma subclasse deint?

Faz sentido porque basicamente um booleano é um int que pode receber apenas dois valores, mas precisa de muito menos operações / espaço do que um número inteiro real (sem aritmética, apenas um pouco de espaço de armazenamento) .

questionAnswers(3)

yourAnswerToTheQuestion