最佳答案
当通过 python-memcached 在 memcached 中存储 bool 时,我注意到它是以整数形式返回的。通过检查库的代码,我发现有一个地方检查 isinstance(val, int)
以将值标记为整数。
因此,我在 python shell 中测试了它,并注意到以下内容:
>>> isinstance(True, int)
True
>>> issubclass(bool, int)
True
但是为什么 bool
是 int
的一个子类呢?
这是有道理的,因为布尔值基本上是一个整型数,它只需要两个值,但它需要的操作/空间要比实际的整型数少得多(没有算术,只有一个位的存储空间) ..。