Python逻辑运算符and?

Python027

Python逻辑运算符and?,第1张

and和or表达式的值是第一个能决定整个表达式是否成立的那个操作数的值。举例:

3 and 4:第一个操作数3为真,但不能保证and成立,还要看第二个操作数4;4也为真,此时可以确定and一定成立,因此这个表达式的值是4。

'hello' and [] and 'world':第一个操作数'hello'为真,但不能保证and成立;第二个操作数[]为假,此时可以确定and一定不成立,因此这个表达式的值是[]。

'a' or 'b' or 'c' or 'd':第一个操作数a为真,此时可以确定or一定成立,因此这个表达式的值是'a'。

1 and 2 or 3 and 4:and的优先级高于or,因此先求左边的1 and 2,这个子表达式的值是2,2为真,可以确定or一定成立,因此整个表达式的值是2。

‘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.

python中and表示和的意思,if加上and代表满足至少两个条件,if下面的语句才能执行。python3中and的正确用法是连接两个表达式,增加判断条件

具体代码示例如下:

执行结果如下:

更多Python知识,请关注:Python自学网!!