为什么是True + 2,3或False + 2,2

时间:2016-10-28 09:06:53

标签: python boolean

>>> True + 2
    3
>>> False + 2
    2

我可以理解,不知何故,True表示1,False表示0。所以 这是否意味着,布尔和整数运算总是给出一个整数?

1 个答案:

答案 0 :(得分:3)

在python中boolint的子类,因此满足"is-a"关系,意思是 bool是-n int

演示:

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

实际上,这意味着在任何对int有效的操作中,int都可以用bool替换。