**任何对象**
都可以进行逻辑值的检测,以便在 if 或 while 作为条件或是作为下文所述布尔运算的操作数来使用。
一个对象在默认情况下均被视为真值
,除非当该对象被调用时其所属类定义了 __bool__()
方法且返回 False
或是定义了 __len__()
方法且返回零。 1 下面基本完整地列出了会被视为假值的内置对象:
-
被定义为假值的常量:
None
和False。
-
任何数值类型的零:
0, 0.0, 0j
,Decimal(0)
,Fraction(0, 1)
-
空的序列和多项集:
'', ()
,[],
{}
,set
(),range
(0)
产生布尔值结果的运算和内置函数总是返回 0
或 False
作为假值,1
或 True
作为真值,除非另行说明。 (重要例外:布尔运算 or
和 and
总是返回其中一个操作数。)
Python
和 C
一样,任何非零整数都为真,零为假。这个条件也可以是字符串或列表的值,事实上,任何序列都可以;长度非零就为真,空序列则为假。示例中的判断只是最简单的比较。比较操作符的标准写法和 C 语言一样: <
(小于)、 >
(大于)、 ==
(等于)、 <=
(小于等于)、 >=
(大于等于)及 !=
(不等于)。
参考
https://www.bookstack.cn/read/python-3.10.0-zh/7adaf5f79c9e977a.md#textseq