Python中bool类型转换
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuhui_liu/article/details/77248704
在python中,以下数值会被认为是False:
- 为0的数字,包括0,0.0
- 空字符串,包括”,”“
- 表示空值的None
- 空集合,包括(),[],{}
其他的值都认为是True。
None是python中的一个特殊值,表示什么都没有,它和0、空字符、False、空集合都不一样。
bool(‘False’)的结果是True,因为‘False’是一个不为空的字符串,当被转换成bool类型之后,就得到True。
bool(’ ‘)的结果是True,一个空格也不能算作空字符串。
bool(”)才是False。
附加:
python中string和bool的转换
版权声明:本文为博主原创文章,欢迎转载,仅请署名 https://blog.csdn.net/muzizongheng/article/details/9368409
python中字符串“True” 和 “False"转为bool类型时, 不能通过bool(xx)强转。
注意是因为在python中,除了‘’、""、0、()、[]、{}、None为False, 其他转换都为True。 也就是说字符串如果不为空,则永远转换为True。
好吧, 只能通过这样了:
data = "True"
isTrue = data == str(True)
附加:
a = 2<1 b = str(2<1) print a,b print type(a),type(b) c = "True" d = "False" print bool(c) print bool(d)
输出结果:
False False
<type 'bool'> <type 'str'>
True True