布尔类型(bool)

2018-12-26  本文已影响0人  import_hello

转载须注明出处:简书@Orca_J35 | GitHub@orca-j35,所有笔记均托管于 python_notes 仓库

本笔记涵盖了 Boolean Values 中的全部内容,并进行了扩展

相关笔记:

  • 『真值测试.md』
  • 『bool.md』
  • 『3.2. 标准类型层次.md』

布尔值包含两个常量对象 FalseTrue,用于表示真值。

bool 类是 int 类的子类(详见 Numeric Types — int, float, complex),但不能为 bool 类创建子类。

issubclass(bool,int) #> True

因为 bool 是 int 的子类,所以 bool 同样支持 int 类型支持的操作,详见笔记『数值类型(int,float,complex).md』和『numbers - Numeric abstract base classes.md』

在数值上下文中(e.g., 被用作算数运算符的操作数时),FalseTrue 的行为与整数 0 和 1 类似:

False + True + True #> 2

如果将 bool 值转换为字符串,会得到 "False""True" ,而非 '0''1'

str(True),repr(False) #> ('True', 'False')

内置函数 bool() 用于获取对象的布尔值。

布尔意义

Python 中的所有对象均具备布尔意义。
默认情况下,对象的真值为 True,除非存在以下两种情况:

如果同时定义了上述两种方法, __bool__() 的优先级高于 __len__() 。如果类定义中不包含 __len__()__bool__(),则该类的所有实例均为真。

下面是真值为 false 的内置对象:

上一篇 下一篇

猜你喜欢

热点阅读