#优先级第一名 - 函数调用、寻址、下标
#优先级第二名 - 幂运算 **
a = 4*2**3
print a
#优先级第三名 - 翻转运算符 ~
print ~a
#第四名 - 正负号
print 2+4*-2
#第五名 - *、/、%
print 2+4*2/2
#第六名 - +、-
print 3<<2+1 #先执行加法,在左移
#第七名 - << 、 >>
#参见上面
#第八名 - 位操作符 & 、 | 、 ^
#第九名 - 比较运算符
a = 2*3+5 <= 5+1*3
print a
#第十名 - 逻辑运算符 not 、 and 、or
#第十一名 lambda表达式
相关code执行结果如下:
======================== RESTART: D:/Python27/test.py ========================
32
-33
-6
6
24
False
>>>
其实我们做设计做开发的时候,不要一味强调技术,强调优先级,我们大部分时候可以通过()方法来提供弱优先级的优先级,达到优先执行,加了括号,可读性也好很多
例如
a = 4*2**3 #可以写成 a = 4*(2**3)
print a
和
a = (4*2)**3
print a
上面那个看结果可以找到等于32,而下面加括号的等于 512 。
意义完全不一样。但是我们可以通过()很明显看得到那个先执行 ,而无需去猜测那个优先级更高。