Python将布尔值视为整数.为什么?
>>> boolean = True
>>> isinstance(boolean, int)
True
Run Code Online (Sandbox Code Playgroud)
反转条件并询问Python是否整数是布尔值(显然不是),你得到这个:
>>> integer = 123
>>> isinstance(integer, bool)
False
Run Code Online (Sandbox Code Playgroud)
Jam*_*mes 11
它位于文档中:https://docs.python.org/3/library/stdtypes.html?highlight = boolean #numeric-types-int-float-complex
有三种不同的数字类型:整数,浮点数和复数.此外,布尔值是整数的子类型.
True并且False在数值上分别等于1和0在Python中.
因为bool是int的子类,如上所述,内置函数"isinstance"返回true,如https://docs.python.org/3/library/functions.html#isinstance中所述.
isinstance(object,classinfo)
如果object参数是classinfo参数的实例,或者是(直接,间接或虚拟)子类的实例,则返回true.如果object不是给定类型的对象,则该函数始终返回false.如果classinfo是类型对象的元组(或递归,其他此类元组),如果object是任何类型的实例,则返回true.如果classinfo不是类型和元组的类型或元组,则会引发TypeError异常.
| 归档时间: |
|
| 查看次数: |
259 次 |
| 最近记录: |