python中字符串的真值
if <boolean> :
# do this
布尔值必须为True或False。
那么为什么
if "poi":
print "yes"
输出:是
我不明白为什么要打印,因为“ poi”是对还是错。
-
当需要从表达式中获取布尔值时,Python将尽最大努力评估该表达式的“真实性”。
字符串的规则是考虑一个空字符串,考虑
False
一个非空字符串True
。对其他容器也施加相同的规则,因此应考虑使用空字典或列表,而应考虑False
具有一个或多个条目的字典或列表True
。该
None
对象也被认为是假的。数值
0
视为假(尽管字符串值'0'
视为真)。考虑所有其他表达式
True
。详细信息(包括用户定义的类型如何指定真实性)可以在以下位置找到:http
:
//docs.python.org/release/2.5.2/lib/truth.html。