收藏 分销(赏)

Python运算符优先级和结合性一览表.docx

上传人:二*** 文档编号:4745982 上传时间:2024-10-11 格式:DOCX 页数:4 大小:22.56KB
下载 相关 举报
Python运算符优先级和结合性一览表.docx_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Python运算符优先级和结合性一览表优先级和结合性是Python表达式中比较重要的两个概念,它们决定了先执行表达式中的哪一部分。Python 运算符优先级所谓优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符。例如对于表达式a + b * c,Python 会先计算乘法再计算加法;b * c的结果为 8,a + 8的结果为 24,所以 d 最终的值也是 24。先计算*再计算+,说明*的优先级高于+。Python 支持几十种运算符,被划分成将近二十个优先级,有的运算符优先级不同,有的运算符优先级相同,请看下表。表 1 Python 运算符优先级和结合性一览表运算符说明Pytho

2、n运算符优先级结合性优先级顺序小括号( )19无高|低索引运算符xi 或 xi1: i2 :i318左属性访问x.attribute17左乘方*16右按位取反15右符号运算符+(正号)、-(负号)14右乘除*、/、/、%13左加减+、-12左位移、=、=7左is 运算符is、is not6左in 运算符in、not in5左逻辑非not4右逻辑与and3左逻辑或or2左逗号运算符exp1, exp21左结果表1中的运算符优先级,我们尝试分析下面表达式的结果:4+42+的优先级是 12,的优先级是 11,+的优先级高于,所以先执行 4+4,得到结果 8,再执行 82,得到结果 32,这也是整个表

3、达式的最终结果。像这种不好确定优先级的表达式,我们可以给子表达式加上( ),也就是写成下面的样子:(4+4) 2这样看起来就一目了然了,不容易引起误解。当然,我们也可以使用( )改变程序的执行顺序,比如:4+(42)则先执行 42,得到结果 16,再执行 4+16,得到结果20。虽然 Python 运算符存在优先级的关系,但我不推荐过度依赖运算符的优先级,这会导致程序的可读性降低。因此,我建议读者: 不要把一个表达式写得过于复杂,如果一个表达式过于复杂,可以尝试把它拆分来书写。 不要过多地依赖运算符的优先级来控制表达式的执行顺序,这样可读性太差,应尽量使用( )来控制表达式的执行顺序。Pyth

4、on 运算符结合性所谓结合性,就是当一个表达式中出现多个优先级相同的运算符时,先执行哪个运算符:先执行左边的叫左结合性,先执行右边的叫右结合性。例如对于表达式对于100 / 25 * 16,/和*的优先级相同,应该先执行哪一个呢?这个时候就不能只依赖运算符优先级决定了,还要参考运算符的结合性。/和*都具有左结合性,因此先执行左边的除法,再执行右边的乘法,最终结果是 64。Python 中大部分运算符都具有左结合性,也就是从左到右执行;只有 * 乘方运算符、单目运算符(例如 not 逻辑非运算符)、赋值运算符和三目运算符例外,它们具有右结合性,也就是从右向左执行。表 1 中列出了所有 Python 运算符的结合性。总结当一个表达式中出现多个运算符时,Python 会先比较各个运算符的优先级,按照优先级从高到低的顺序依次执行;当遇到优先级相同的运算符时,再根据结合性决定先执行哪个运算符:如果是左结合性就先执行左边的运算符,如果是右结合性就先执行右边的运算符。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服