Python运算符的优先级
本人的Python学习内容总结,如有改正还请多多指点。
正文:
Python运算符的优先级
在Python中,运算符的优先级决定了在表达式中各个运算符的计算顺序。优先级较高的运算符会优先与优先级较低的运算符进行计算。理解运算符的优先级在编写和调试代码时对避免潜在错误非常重要,特别是在有多个运算符同时使用的情况下。如果不确定计算顺序,使用括号来明确优先级可以提高代码的可读性和可靠性。以下是Python运算符的优先级,从高到底排序:
1、括号 ()
用于改变计算顺序,任何括号内的表达式都会优先计算。
2、幂运算 **
进行幂运算,如2**3等于8
3、正负号
表示整数和负数。
4、乘法、除法、取余、整除 *,/,%,//
这些运算符的优先级相同,从左到右进行计算。例如3*2/1按顺序从左到右计算。
5、加法和减法 +,-
同样是从左到右计算
6、位运算(左移与右移)<<,>>
7、位运算 &
8、位运算异或 ^
9、位运算或 |
10、比较运算 <, <=,>,>=,==,!=
用于比较运算,优先级相同,从左到右计算
11、身份运算 is,is not
12、成员运算 in,not in
13、逻辑非 not
先计算not,在计算and和or
14、逻辑与and
15、逻辑或or
16、条件表达式 if-else (三元运算符)
形如 x if condition else y
17、赋值运算 =, +=, -=, =, /=, %= 等
赋值运算符的优先级最低。
示例:为了更加容易理解,以下是一些例子:
#使用括号改变默认优先级
resut1 = 3 + 5 * 2 #输出13,因为乘法优先级大于加法
resut2 = ( 3 + 5 ) * 2 #输出16,因为括号内的计算优先
#幂运算优先级高于乘法
resut3 = 2 + 3 ** 2 * 4 #输出20,因为3的平方先计算为9,然后乘以4在与2相加。
综合运算示例
resut4 = 10 – 2 ** 2 + 4 / 2 #输出8
作者:是Tony Smith