Python运算符优先级规则
当一个表达式中出现多个运算符时,求值顺序依赖于优先级规则。对数学操作符,Python遵守数学传统规则。缩写为PEMDAS,可以帮助
记忆这些规则。
括号
括号(P, Parenttheses)拥有最高优先级。并可以用来强制表达式按照你需要的顺序进行求值。因为括号中表达式会先执行,所以
2*(3-1)的值是4,而(1+1)**(5-2)的结果是8。
乘方
乘方(E, Exponentiation)拥有次高优先级,所以1+2**3的结果是9而不是27
乘法和除法
乘法(M,Multiplication)和除法(D,Division)优先级相同,并且高于优先级相同的加法(A,Addition)和减法
(S,Substraction)。所以2*3-1是5,而不是4,6+4/2结果是8而不是5。
相同优先级的运算符执行顺序
优先级相同的操作按照从左向右顺序求值。