-2
>>> True + 2
3
>>> False + 2
2
我可以理解,不知何故,True表示1,False表示0。所以 是否意味着,布爾和整數運算總是給出一個整數?爲什麼是True + 2,3或False + 2,2
>>> True + 2
3
>>> False + 2
2
我可以理解,不知何故,True表示1,False表示0。所以 是否意味着,布爾和整數運算總是給出一個整數?爲什麼是True + 2,3或False + 2,2
在蟒bool
是int
一個子類,並且爲此滿足"is-a"關係,這意味着一個bool是-一個INT。
爲了證明:
issubclass(bool, int)
=> True
isinstance(True, int)
=> True
在實踐中,這意味着,在其中對一個int工作的任何操作中,INT可以用布爾取代。
是的。將一個布爾值添加到一個int會產生一個int,因爲在Python中爲'True == 1'和'False == 0'。 – khelwood