概述
布尔对象
布尔(英文叫 bool )对象是只有两种取值的对象: True 和 False
对应 真 和 假, 或者说 是 和 否。
很多事情的回答 只有正反两种答案:是或者 否
比如: 今天是星期天吗?
要么 是 ,要么 否。
Python中的布尔对象 对应 是 和 否 只有两种取值。
其中 True 对应 是, False 对应 否。
布尔表达式
产生布尔值的表达式,就是 布尔表达式。
通常有如下几种
是否相等
是否相等的表达式 像这样
1 == 1
用 == 连接两个比较对象。
如果 两个比较对象相等,解释器运算结果为 True
如果不相等,解释器运算结果为 False
请运行Python解释器命令行,输入如下语句
1 == 1
返回值为 True
1 == 2
返回值为 False
1 == '1'
返回值为 False。想一想,为什么?
'1' == '1'
返回值为 True
是否不相等
用 != 连接两个比较对象。
如果两个比较对象不相等,解释器运算结果为 True
如果相等,解释器运算结果为 False
请运行Python解释器命令行,输入如下语句
1 != 1
返回值为 False
1 != 2
返回值为 True
1 != '1'
返回值为 True
'1' != '1'
返回值为 False
是否大于
用 > 连接两个比较对象。
如果前面的对象大于后面的对象,解释器运算结果为 True
否则,运算结果为 False
请运行Python解释器命令行,输入如下语句
1 > 1
返回值为 False
1 > 0
返回值为 True
1 > 2
返回值为 False
是否大于等于
用 >= 连接两个比较对象。
如果前面的对象大于或者等于后面的对象,解释器运算结果为 True
否则,运算结果为 False
请运行Python解释器命令行,输入如下语句
1 >= 1
返回值为 True
1 >= 0
返回值为 True
1 >= 2
返回值为 False
是否小于
用 < 连接两个比较对象。
如果前面的对象小于后面的对象,解释器运算结果为 True
否则,运算结果为 False
请运行Python解释器命令行,输入如下语句
1 < 1
返回值为 False
1 < 0
返回值为 False
1 < 2
返回值为 True
是否小于等于
用 <= 连接两个比较对象。
如果前面的对象小于或者等于后面的对象,解释器运算结果为 True
否则,运算结果为 False
请运行Python解释器命令行,输入如下语句
1 <= 1
返回值为 True
1 <= 0
返回值为 False
1 <= 2
返回值为 True
条件组合
有的时候,条件表达式 还会 组合起来 成为一个更大的表达式
条件表达式 主要有3 种组合关系
且 的 条件组合
这种组合关系是用 and 关键字 连接的,如下
表达式1 and 表达式2
这种组合,只有表达式1 和 表达式2 都成立 (也就是计算结果都为True),最终的结果才成立(为True)
任何一个表达式为 False ,结果都是False
你可以打开Python解释器,依次输入如下的语句,看看结果是什么
True and True # 结果为 True
True and False # 结果为 False
False and True # 结果为 False
False and False # 结果为 False
num1 = 5
str1 = 'ok'
num1 > 4 and str1 == 'ok' # 结果为 True
num1 > 4 and str1 == 'bad' # 结果为 False
num1 > 6 and str1 == 'ok' # 结果为 False
num1 > 6 and str1 == 'bad' # 结果为 False
num1 > 4 and str1 == 'ok' and num1 > 5 # 结果为 False
或 的 条件组合
这种组合关系是用 or 关键字 连接的,如下
表达式1 or 表达式2
这种组合,只要表达式1 和 表达式2 任何一个成立 (也就是任何一个计算结果为True),最终的结果才成立(为True)
如果两个表达式计算结果都为 False ,结果才是False
你可以打开Python解释器,依次输入如下的语句,看看结果是什么
True or True # 结果为 True
True or False # 结果为 True
False or True # 结果为 True
False or False # 结果为 False
num1 = 5
str1 = 'ok'
num1 > 4 or str1 == 'ok' # 结果为 True
num1 > 4 or str1 == 'bad' # 结果为 True
num1 > 6 or str1 == 'ok' # 结果为 True
num1 > 6 or str1 == 'bad' # 结果为 False
num1 > 6 or str1 == 'ok' or num1 != 5 # 结果为 True
num1 > 6 or str1 == 'sk' or num1 != 5 # 结果为 False
如果 and 和 or 一起使用, 注意 是先计算 and 部分, 其结果 再和 or 一起计算,比如这个表达式
6 > 5 or 'sk' == 'sk' and 4 == 5
就要先计算
'sk' == 'sk' and 4 == 5
结果是 False
然后这个False 再和前面的计算,就是
6 > 5 or False
所以最后的结果是True
如果我们就是想要: 先计算前面的or 部分, 然后再和 后面 and 一起计算呢?那么就可以使用括号,想这样
(6 > 5 or 'sk' == 'sk') and 4 == 5
就要先计算
(6 > 5 or 'sk' == 'sk')
结果是 True
然后这个结果 True 再和前面的计算,就是
True and 4 == 5
所以最后的结果是False
可以看出, 不用的优先级会导致不同的结果
not 的 合条件组
这种组合其实就是把后面的布尔表达式的结果反过来
这种组合关系是用 not 关键字 的,如下
not 表达式1
not 加在条件表达式1的前面,会反转其结果。
表达式1 计算结果为True, 最终的结果为 False
表达式1 计算结果为False,最终的结果为 True
你可以打开Python解释器,依次输入如下的语句,看看结果是什么
not True # 结果为 False
not False # 结果为 True
num1 = 5
str1 = 'ok'
not num1 > 4 # 结果为 False
not str1 == 'sk' # 结果为 True
如果 and 和 or 一起使用, 注意 是先计算 not , 再计算 and 部分, 最后再计算 or
这样的表达式
not 4 > 6 or 'sk' == 'ok' and 4 > 3
先计算 not 4 > 6 得到 True
再计算 'sk' == 'ok' and 4 > 3 得到 False
将上面的结果 用 or 连接 ,就是 True or False ,所以最后结果是 True
如果大家想了解完整的Python运算符的优先级,可以点击这里,参考官网操作符优先级表
转自:判断语句,百度【白月黑羽】移步到Python在线教程了解更多内容!
最后
以上就是笑点低丝袜为你收集整理的python布尔测试对象_Python基础之果断的布尔对象及表达式的全部内容,希望文章能够帮你解决python布尔测试对象_Python基础之果断的布尔对象及表达式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复