python中and、or和not 三个逻辑运算符,一直理解不了,求帮助!
答案:2 悬赏:80 手机版
解决时间 2021-02-02 14:46
- 提问者网友:浩歌待明月
- 2021-02-02 10:56
python中and、or和not 三个逻辑运算符,一直理解不了,求帮助!
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-02-02 12:28
‘and’、‘or’和‘not’的优先级是not>and>or
首先,‘and’、‘or’和‘not’的优先级是not>and>or。
and :x and y 返回的结果是决定表达式结果的值。如果 x 为真,则 y 决定结果,返回 y ;如果 x 为假,x 决定了结果为假,返回 x。
or :x or y 跟 and 一样都是返回决定表达式结果的值。
not : 返回表达式结果的“相反的值”。如果表达式结果为真,则返回false;如果表达式结果为假,则返回true。
其次,逻辑操作符and 和or 也称作短路操作符(short-circuitlogic)或者惰性求值(lazy evaluation):它们的参数从左向右解析,一旦结果可以确定就停止。
例如,如果A 和C 为真而B 为假, A and B and C 不会解析C,作用于一个普通的非逻辑值时,短路操作符的返回值通常是最后一个变量。因此,逻辑运算符的理解也与C语言中不同。举个例子:
在以上例子中,按照C语言对的思维,3 and 4即3与4为3,但是由于是短路操作符,结果为4,是因为and运算符必须所有的运算数都是true才会把所有的运算数都解析,并且返回最后一个变量,即为4;改变一下顺序4 and 3 ,结果也不一样,即为3.
而或逻辑(or),即只要有一个是true,即停止解析运算数,返回最近为true的变量,即 3 or 4,值为3;改变顺序4 or 3 即为4.
首先,‘and’、‘or’和‘not’的优先级是not>and>or。
and :x and y 返回的结果是决定表达式结果的值。如果 x 为真,则 y 决定结果,返回 y ;如果 x 为假,x 决定了结果为假,返回 x。
or :x or y 跟 and 一样都是返回决定表达式结果的值。
not : 返回表达式结果的“相反的值”。如果表达式结果为真,则返回false;如果表达式结果为假,则返回true。
其次,逻辑操作符and 和or 也称作短路操作符(short-circuitlogic)或者惰性求值(lazy evaluation):它们的参数从左向右解析,一旦结果可以确定就停止。
例如,如果A 和C 为真而B 为假, A and B and C 不会解析C,作用于一个普通的非逻辑值时,短路操作符的返回值通常是最后一个变量。因此,逻辑运算符的理解也与C语言中不同。举个例子:
在以上例子中,按照C语言对的思维,3 and 4即3与4为3,但是由于是短路操作符,结果为4,是因为and运算符必须所有的运算数都是true才会把所有的运算数都解析,并且返回最后一个变量,即为4;改变一下顺序4 and 3 ,结果也不一样,即为3.
而或逻辑(or),即只要有一个是true,即停止解析运算数,返回最近为true的变量,即 3 or 4,值为3;改变顺序4 or 3 即为4.
全部回答
- 1楼网友:过活
- 2021-02-02 13:57
简单解释就是:
and -> A and B -> 表示A和B都必须同时满足才可以
or -> A or B -> 表示A或B,两者满足一个,其中任意一个,就可以了
not A -> 对于A取反 -> A原来是真,则现在是假;A原来是假,则现在是真。
这些,其实和Python关系不大,和你对于基本的,编程语言中的逻辑,不理解有关系。
很多语言,都是这个逻辑的。也本身是符合人类的逻辑的。
感兴趣的,自己去看:
【教程】Python开发入门详解
(此处不给贴地址,请用google搜标题,即可找到地址的)
and -> A and B -> 表示A和B都必须同时满足才可以
or -> A or B -> 表示A或B,两者满足一个,其中任意一个,就可以了
not A -> 对于A取反 -> A原来是真,则现在是假;A原来是假,则现在是真。
这些,其实和Python关系不大,和你对于基本的,编程语言中的逻辑,不理解有关系。
很多语言,都是这个逻辑的。也本身是符合人类的逻辑的。
感兴趣的,自己去看:
【教程】Python开发入门详解
(此处不给贴地址,请用google搜标题,即可找到地址的)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯