欢迎光临散文网 会员登陆 & 注册

小白自学笔记之Python入门-第五章 选择-3

2023-07-03 08:47 作者:wangyanhpa  | 我要投稿

下面的内容有点偏难,注意是有点,and有点,一般编程时不会遇到,只有考试时故意出这样的题目用来挖坑等你跳的,所以学会它,就是不掉进去。送出题人(我不会这样出题)一本书:就喜欢你看不惯我又干不掉我的样子,一查居然有三本了(现在已经到5了),俺只看过第一本。

python中逻辑值为False的对象主要有一下几类:

Ÿ   None

Ÿ   False

Ÿ   值为0的数:0、0.0、0.0L等

Ÿ   空字符串:“”

Ÿ   空列表:[]

Ÿ   空字典:{}

Ÿ   空元组:()

Ÿ   空集合:set()

python上述对象除了False以外,其他任何对象都不是False,只是他们的逻辑值是False,两者不是同一种概念,所以对于“[] == False”的结果是False。

在 Python 中,and 和 or 不一定会计算右边表达式的值,有时候只计算左边表达式的值就能得到最终结果。另外,and 和 or 运算符会将其中一个表达式的值作为最终结果,而不是将 True 或者 False 作为最终结果。

比如在print函数中,对于and运算符来说,当第一个对象的逻辑值是False时,输出第一个对象,当第一个对象的逻辑值是True时,输出第二个对象。对于or运算符来说,当第一个对象的逻辑值是False时,输出第二个对象,当第一个对象的逻辑值是True时,输出第一个对象。请看下面的例子:

print(100 and 211)

print(26 and 0)

print("" or "CUP")

print(614 or "http://www.cup.edu.cn")

运行程序结果为:

211

0

CUP

614

对于 and 运算符,两边的值都为真时最终结果才为真,但是只要其中有一个值为假,那么最终结果就是假,所以 Python 按照下面的规则执行 and 运算:

Ÿ   如果左边表达式的值为假,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是假,此时 and 会把左边表达式的值作为最终结果。

Ÿ   如果左边表达式的值为真,那么最终值是不能确定的,and 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。

对于 or 运算符,情况是类似的,两边的值都为假时最终结果才为假,只要其中有一个值为真,那么最终结果就是真,所以 Python 按照下面的规则执行 or 运算:

Ÿ   如果左边表达式的值为真,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是真,此时 or 会把左边表达式的值作为最终结果。

Ÿ   如果左边表达式的值为假,那么最终值是不能确定的,or 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。

下面我们看一下比较正常的例子。输入平面上一个点x和y坐标(x,y),判断这个点位于第几象限。

根据上图,可以判断第一象限的表达式为“x>0 and y>0”,其它几个象限可以类似写出。但是还有一个问题,如果我想实现输入一个点坐标值,输出这点位于第几象限如何实现呢?我们需要判断某一条件是否成立,如果成立则输出这一条件对应的象限信息。Ok,keep going to the next section,我们需要学习if语句了。

小白自学笔记之Python入门-第五章 选择-3的评论 (共 条)

分享到微博请遵守国家法律