说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
大家知道,在计算机世界里,都是 0
和 1
组成的,代表了开关、真假两种状态。在 Python 里,True
和 False
代表真假,它都属于布尔型,布尔型只有这两个值。
注意
True
和 False
首字母都是大写。
如果我们检测变量,以下情况会得到假,其他情况为真。
0
, 0.0
, 0j
(虚数), Decimal(0)
, Fraction(0, 1)
""
、空元组 ()
、空列表 []
{}
、空集合 set()
__bool__()
返回 False 或是定义了 __len__()
方法且返回 0可以使用 bool()
来判断真假:
bool(None) # False
bool(0) # False
bool([]) # False
bool(()) # False
以下是按优先级从低到高分别有:
运算 | 表达式 | 运算说明 |
---|---|---|
或 | a or b |
a=真:真; a=假b=真:真; 其余为假 |
与 | a and b |
a 和 b 全为真:真, 其余为假 |
非 | not a |
a=真:假, a=假:真 |
需要注意的是:
a = 0
b = 1
c = 2
a and b # 0 a 为假返回假的值
b and a # 0 b为真,返回a的值
a or b # 1 输出为真值的结果
a and b or c # 2
a and (b or c) # 0 用类似数学中的括号提高运算优先级
# not 的注意事项
not a # True
not a == b # True
not (a == b) # True 同上逻辑
a == not b # !这个是错误的语法, 正确如下:
a == (not b) # True
# and 优先级高 'a' 为真,返回 'b', '' or 'b' 返回 'b'
'' or 'a' and 'b' # 'b'
可运算赋值:
x = a or b # 哪个为真就就将值赋值到 x
x = a and b # 哪个为假就将值赋到 x
x = not a # 将结果赋值给 x, False
对两个值或者变量进行比较,如果表达式成立返回 True
,否则返回 False
。
操作符 | 说明 |
---|---|
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
== | 等于 |
!= | 不等于 |
is | 是相同对象 |
is not | 是不同对象 |
示例:
a = 0
b = 1
c = 2
a > b # False
a == b # False
b == (c - b) # True
a != b # True
a < (b + c) # True
a is not a # False
在条件分支中每个条件就是通过布尔类型为真是才进行代码块的运算,如:
if c:
print(c)
elif a > b:
print(a)
elif not d:
print(d)
elif (a+b) >= 10:
print(a+b)
elif a > b >= c:
print(a+c)
else:
pass
更新时间:2021-11-11 12:25:56 标签:python 布尔 true false