Age*_*ote 10 python python-3.x
如果为空set()的False,不应该if test == False在下面的代码条款计算为True?
test = set()
# empty sets are false
if test == False:
print("set is empty")
else:
print("set NOT empty")
if not test:
print("set is empty")
Run Code Online (Sandbox Code Playgroud)
输出继电器:
set NOT empty
set is empty
Run Code Online (Sandbox Code Playgroud)
操作员==将检查2对象的值,在这种情况下,空set()值和假值没有相同的值.
并且由于python将任何空序列评估为False而没有空序列评估为True,如果要检查test对象的验证,则可以使用if:
if test:
#do stuff
Run Code Online (Sandbox Code Playgroud)
可以测试任何对象的真值,用于if或while条件或作为下面布尔运算的操作数.以下值被视为false:
项目清单
没有
假
任何数字类型的零,例如,0,0.0,0j.
任何空序列,例如'',(),[].
任何空映射,例如{}.
用户定义的类的实例,如果类定义了一个
__bool__()或__len__()方法,则该方法返回整数零或bool值False.所有其他值都被认为是真的 - 因此许多类型的对象始终是真的.
| 归档时间: |
|
| 查看次数: |
1420 次 |
| 最近记录: |