Python中bool类型转换

Python中bool类型转换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuhui_liu/article/details/77248704

在python中,以下数值会被认为是False:

  1. 为0的数字,包括0,0.0
  2. 空字符串,包括”,”“
  3. 表示空值的None
  4. 空集合,包括(),[],{}

其他的值都认为是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

猜你喜欢

转载自blog.csdn.net/qq_34802511/article/details/82620355