python学习之运算表达式优先级

python

python中,有变量、值和运算符参与的语句叫做表达式。

比如:

#字符串表达式

"hello"

#运算表达式

2+3

#赋值表达式

test = "hello"

#变量表达式

test

运算符优先级

运算符描述
lambdaLambda表达式
or布尔“或”
and布尔“与”
not x布尔“非”
in,not in成员测试
is,is not同一性测试
<,<=,>,>=,!=,==比较
|按位或
^按位异或
&按位与
<<,>>移位
+,-加法与减法
*,/,%乘法、除法与取余
+x,-x正负号
~x按位翻转
**指数
x.attribute属性参考
x[index]下标
x[index:index]寻址段
f(arguments...)函数调用
(experession,...)绑定或元组显示
[expression,...]列表显示
{key:datum,...}字典显示
'expression,...'字符串转换

 关于移位操作

右移:右移一位表示除以2

>>> 8>>2

2

>>> 8>>3

1

>>> 8>>4

0

这里,移位数是>>右边的数,被移位数是>>左边的数。

左移:左移一位表示乘以2

>>> 3<<4

48

这里,移位数是<<右边的数,被移位数是<<左边的数。

总结:移位数总是位于移位符号(<<或者>>)的右边,被移位数总是位于移位符号的左边。

优先级

运算符优先级按照上表由低到高。

其他优先级如下:

#以下优先级排名从高到低,在同一运算中,先执行优先级高的再执行低的,以此类推。

#Top 1:函数调用、寻址、下标

#Top 2:幂运算**

priorityNumber=2*2**3

print priorityNumber #输出结果:16

#Top 3:翻转运算~

#Top 4:正负号

print 1+2*-3 #输出结果:-5

#Top 5:*、/、%

print 2+1*2/5 #输出结果:2

#Top 6:+、-

print 3<<2+1 #输出结果:24

#Top 7:<<、>>

#Top 8:按位&、^、|

#Top 9:比较运算符

priority=2*3+2<=2+1*7

print priority #输出结果:True

#Top 10:逻辑的not and or

#Top 11:lambda表达式

一般操作,由左到右;赋值操作,由右到左。

>>> a = 1+3

>>> a

4

`a = b or c`与`a = (b or c)`等效。

括号优先操作

>>> b = (1+2)*3

>>> b

9

以上是 python学习之运算表达式优先级 的全部内容, 来源链接: utcz.com/z/388076.html

回到顶部