python-memcached를 통해 memcached에 bool을 저장할 때 정수로 반환되는 것을 알았습니다. 라이브러리의 코드를 isinstance(val, int)확인한 결과 값을 정수로 표시하기 위해 확인되는 위치 가 있음을 알 수 있습니다.
그래서 파이썬 셸에서 테스트했고 다음을 발견했습니다.
>>> isinstance(True, int)
True
>>> issubclass(bool, int)
True
그러나 정확히 왜 bool하위 클래스 int입니까?
부울은 기본적으로 두 개의 값만 취할 수있는 int이지만 실제 정수보다 훨씬 적은 연산 / 공간이 필요하기 때문에 이해가됩니다 (산술이 필요없고 저장 공간의 단일 비트 만) ....