Python运算符的优先级顺序,简述Python操作符的种类及优先级顺序

  Python运算符的优先级顺序,简述Python操作符的种类及优先级顺序

  优先级和结合性是Python表达式中的两个重要概念,它们决定了表达式的哪一部分先被执行。

  Python 运算符优先级

  优先级是指一个表达式中同时出现多个运算符时,先执行哪个运算符。

  比如对于表达式a b * c,Python会先算乘法,再算加法;b * c的结果是8,a 8的结果是24,所以D的最终值也是24。先算*再算,也就是说*的优先级比*高。

  Python支持几十个操作符,分为近二十个优先级。一些运营商具有不同的优先级,而一些运营商具有相同的优先级。请看下表。

  解释Python运算符的优先级、结合律、优先顺序、括号()19无高索引运算符x[i]或x[i1: i2 [:i3]]18左\属性访问x.attribute17左\幂**16右\按位求反~15右\符号运算符(加号)、-(减号)14右\=、=、=、=7左\is运算符is、not6左\in运算符in、not in5左\ logical not右\逻辑and3左\逻辑or2左\逗号运算符ex

  42的优先级是12,优先级是11,优先级是高于的,所以先执行4 4得到结果8,再执行82得到结果32,这是整个表达式的最终结果。

  对于一个不容易区分优先级的表达式,我们可以给子表达式加上(),写法如下:

  (4 4) 2这样看起来一目了然,不容易引起误会。

  当然,我们也可以用()来改变程序的执行顺序,比如:

  4 (42),先执行42得到结果16,再执行4 16得到结果20。

  虽然Python运算符有优先级关系,但我不建议过分依赖运算符的优先级,这样会降低程序的可读性。因此,我建议读者:

  不要把一个表情做得太复杂。如果一个表达式太复杂,可以尝试拆分来写。不要过于依赖运算符的优先级来控制表达式的执行顺序,可读性太强。您应该尝试使用()来控制表达式的执行顺序。Python 运算符结合性

  所谓结合律,就是当一个表达式中出现多个优先级相同的运算符时,先执行哪个运算符:左边的先称为左结合律,右边的先称为右结合律。

  比如对于表达式100/25 * 16,/和*优先级相同,应该先执行哪个?这时候不仅要看运算符的优先级,还要参考运算符的组合。/和*是左联的,所以先进行左边的除法,再进行右边的乘法,最后的结果是64。

  Python中的大多数运算符都是左关联的,即从左向右执行;例外情况是* *幂运算符、一元运算符(如非逻辑非运算符)、赋值运算符和三元运算符,它们是右关联的,即从右向左执行。表1列出了所有Python操作符的组合。

  总结

  当一个表达式中出现多个运算符时,Python会先比较每个运算符的优先级,按照优先级从高到低的顺序执行;遇到优先级相同的运算符时,根据组合决定先执行哪个运算符:如果是左组合,先执行左运算符,如果是右组合,先执行右运算符。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: