python运算符优先级
总结:
个别运算符:
运算符优先级最高的: **
运算符优先级最低的: =
()可以提升优先级
一元运算符 > 二元运算符 (优先级)
一元运算符 : 同一时间,操作一个值 ~ -
二元运算符 : 同一时间,操作一个值 + - * / ....
同一种类运算符:
算数运算符 : 乘除 > 加减
逻辑运算符 : () > not > and > or
位运算符 : ( << >> ) > & > ^ > |
整体排序:
算位比身成逻
算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符
赋值运算符用来做收尾
算位比身成逻
例题
res = 5+5 << 6 // 3 is 40 and False
+,//(地板除)属于算术运算符,<<属于位运算符,is属于 身份运算符,and属于 逻辑运算符
所以计算顺序是:
res ={ [(5+5)<<(6//3)] is 40} and False
tips:地板除得到的res默认是整数,除非除数是浮点数
tips:<<是左移;>>是右移,&按位与运算符;|是按位或运算符;~是按位非运算符,先对原字段的补码按位取反(包括符号位),再转换成原码
不错不错OωO