2016-10-28 12 views
-2
>>> True + 2 
    3 
>>> False + 2 
    2 

どういうわけか、Trueは1を意味し、Falseは0を意味します。したがって、 は、ブール演算と整数演算は常に整数を与えますか?パイソンboolなぜTrue + 2か3かFalse + 2か2

+3

はい。 intにbooleanを追加すると、intが生成されます。なぜならPythonでは 'True == 1'と' False == 0'です。 – khelwood

答えて

3

はブールがある-INTを意味し、intのサブクラス、およびそのための満たす"is-a"関係です。

証明するために:実際には

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

を、これはint型で動作します任意の操作で、intはブール値で置換することができることを意味しています。

関連する問題