对于布尔类型,是有唯一不变的两个值的。
在字符串的应用,通过成员运算符,返回结果,就是true与false。对于true与false,把它叫做布尔值。
常被用来判断一件事儿的真假。
res=bool('name' in 'my name is xiaobian')
print(res)
即便不使用bool这个函数,通过'name' in 'my name is xiaobian'
, 也可以返回布尔类型。
其实,数字与字符串中有某些固定的值是可以与true与false相呼应的:
字符串如果是空的,也就是只有两个引号包裹,长度为0的字符,这种情况也可以认为是false。而只要长度大于0的字符串,都可以认为非空。
在真实的开发中,也通常通过长度的判断,来处理很多事情。比如发送一个消息,如果这个消息没有长度,那就认为它发送的是失败的。或者传过来一个0,那么就认为这次的交易是失败的。
可以和真空进行一个联想,真的是什么都不存在,也没有任何可以操作的功能。
它和布尔值一样,也有固有值。只不过它的固有值是唯一的。
无论是0还是空字符串都是什么都没有,和None非常的类似。0和空字符串是属于false的,那么None自然也归类在其中了。
如果在不确定什么数据类型,或者对于一个变量,不知道赋予什么值的时候,而又必须定义这样一个变量,可以先给这个变量赋予一个None。
# coding:utf-8
test=None
a = 0
b = 1
c =0.0
d=0.1
e=''
f='None'
g=None
test=True
if __name__ == '__main__':
print(bool(a))
print(bool(b))
print(bool(c))
print(bool(d))
print(bool(e))
print(bool(f))
print(bool(g))
print(test)
print(type(test))
print(type(None))
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/bool_and_none.py
False
True
False
True
False
True
False
True
<class 'bool'>
<class 'NoneType'>
进程已结束,退出代码为 0
len函数不能判断空类型和布尔类型,因为它们是没有长度的。