大爽Python入门教程 3-1 布尔值: True, False

大爽Python入门公开课教案
点击查看教程总目录

1 布尔值介绍

从判断说起

回顾第一章介绍的简单的判断

>>> x = 10
>>> if x > 5:
...     print("x is greater than 5")

重点来看下if x > 5:这一句。
这一句可以分为两步

  • x > 5: 本质是一个运算式,其值是一个布尔值。
  • if根据布尔值来判断。
    具体如下
>>> x = 10
>>> x > 5
True
>>> if True:
...     print("x is greater than 5")

上面的True就是布尔值,
if条件判断本质上是根据布尔值来判断的。

布尔值

布尔值(Booleans)只有两个:

  • True: 真,正确
  • False: 假,错误

其数据类型为bool

之前第一张简单判断的比较运算符,其运算结果就是布尔值。

if判断,使用布尔值来判断是否执行冒号后的语句的。
if True就执行。
if False就不会执行。

>>> b = 1 > 5
>>> b
False
>>> type(b)
<class 'bool'>
>>> if b:
...     print("1 > 5")
...
>>> c = 1 < 5
>>> c
True
>>> if c:
... 	print("c<5")
...
1<5
>>> if False:
... 	print("Only output when true")
...
>>> if True:
... 	print("Only output when true")
...
Only output when true

布尔转换

if条件判断, 本质上是根据布尔值来判断的。
即得到if后内容的布尔值。

当后面内容结果不是布尔对象时,
会将结果使用bool()方法转换成布尔对象。
变量使用bool()方法转换后的布尔值,
一般简称为变量的布尔值

示例如下

>>> bool(1)
True
>>> bool(-1)
True
>>> bool(0)
False
>>> if 0:
... 	print("Only output when true")
...
>>> if 1:
... 	print("Only output when true")
...
Only output when true
>>> if -1:
... 	print("Only output when true")
...
Only output when true

结论(不必去记,用的时候敲一遍代码就知道了)

  • 只有0的布尔值是False,其他数(包括负数)的布尔值都是True
    尤其是-1的布尔值,也是True

小技巧:
if语句后面的输出不确定,想测试的时候,
没有必要把整个if语句敲一遍。
直接把if判断的内容的布尔值取一下就好。

常用对象的布尔值

结论(不必去记,用的时候敲一遍代码就知道了)
空容器的布尔值是False,非空容器的布尔值都是True
适用于:字符串,元组,列表,字典等等。

代码示例

>>> bool("")
False
>>> bool("a")
True
>>> bool(())
False
>>> bool((1,2))
True
>>> bool([])
False
>>> bool([1])
True
>>> bool({})
False
>>> bool({"a": 1})
True

布尔运算

其他得到布尔值的方法

原文地址:https://www.cnblogs.com/BigShuang/p/15207586.html