之前说到,while后面跟的是“条件”,当条件被满足时,才能进入循环。
然而这个“条件满足”更底层的逻辑是:条件满足和不满足时分别生成不同的布尔值,以此来判断能否进入循环。
什么是布尔值呢?简单来说,就是True(真)和False(假),计算机的逻辑判断只会出现这两种结果。计算真假的过程就叫做布尔运算。
print(3<5)
print(3>5)
>>
True
False
而while循环,只有在布尔值为真的时候才会进入循环。
while True:
print('while True')
>>
while True
while True
while True
while True
…………
所以使用while时非常容易陷入死循环,在编程时要格外注意。
知道了基础的概念,接下来继续看看布尔运算的三种方式。
①作比较
print(3<5)
print('nihao' = '你好')
>>
True
False
不仅可以用数值来作比较,还可以用字符串、列表等其他数据类型作比较。
②直接用数值做运算
if 1:
print('1')
if 0:
print("1")
>>
1
只有第一个if语句会打印出1。也就是说数字0作为布尔值等于False。除了0之外,’ '(空字符串),[](空列表),{}(空字典),None都会被计算机认作假。
可以使用bool函数查看布尔值:
print(bool('1'))
print(bool(None))
>>
True
False
③布尔量运算
也就是我们熟悉的逻辑运算(and,or,not)再加上in,not in 两种运算,很简单。
a = 1
b = -1
if a==1 and b==1:
print('True')
else:
print('False')
>>
False