pythonk,a,b=3,8,则逻辑表达式(a<1)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pythonk,a,b=3,8,则逻辑表达式(a<1)相关的知识,希望对你有一定的参考价值。

参考技术A ‘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.

程序中的算术运算和逻辑运算表达式

a |= b; <=> a= a|b; //二进制或运算
a &= b; <=> a = a&b; //二进制与运算
a &= ~b; <=> a = a&(~b) //二进制反码与运算
a != b; //a不等于b
a == b; //a等于b
a || b; //短路或运算
a && b; //短路与运算
a += b; <=> a = a+b; //加运算
a -= b; <=> a = a-b; //减运算
a *= b; <=> a = a*b; //乘运算
a /= b; <=> a = a/b; //除运算
a %= b; <=> a = a%b; //取余运算
a ^= b; <=> a = a^b; //二进制异或运算(相同为0,相异为1)
a = x << y; //左移运算
a = x >> y; //右移运算

&(与)和&&(短路与)的区别

  • &:在逻辑运算时分别计算表达式两边的结果,再做&运算;在做位运算时&表示按位与
  • &&:短路与,先计算左边表达式的值,如果结果是false,那么右边结果表达式不再计算,直接返回false;如果左边为true,再取决与右边表达式的值,右边为true,则结果为true,否则为false.

|(或)和||(短路或)的区别同上。

短路与和短路或的效率更高,因此建议使用。

以上是关于pythonk,a,b=3,8,则逻辑表达式(a<1)的主要内容,如果未能解决你的问题,请参考以下文章

逻辑表达式真值表文氏图卡诺图

3rd 逻辑运算符的基本用法

JavaEE基础

Java中的逻辑运算符短路效应

python 比较运算符和逻辑运算符

03 java语言基础逻辑运算符