教程集 www.jiaochengji.com
教程集 >  Python编程  >  Python入门  >  正文 Python运算符优先级

Python运算符优先级

发布时间:2021-12-14   编辑:jiaochengji.com
教程集为您提供Python运算符优先级等资源,欢迎您收藏本站,我们将为您提供最新的Python运算符优先级资源

所有的数学运算都是从左向右进行的,Python 语言中的大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,它们是从右向左结合的,也就是说,它们是从右向左运算的。

乘法和加法是两个可结合的运算符,也就是说,这两个运算符左右两边的操作数可以互换位置而不会影响结果。

运算符有不同的优先级,所谓优先级就是在表达式运算中的运算顺序。下表中列出了包括分隔符在内的所有运算符的优先级顺序。

<table><caption> 运算符的优先级</caption><tbody><tr class="firstRow"><th>运算符说明</th><th>Python运算符</th><th>优先级</th></tr><tr><td>索引运算符</td><td>x[index]或x[index:index2[:index3]]</td><td>18、19</td></tr><tr><td>属性访问</td><td>x.attrbute </td><td>17</td></tr><tr><td>乘方</td><td>**</td><td>16</td></tr><tr><td>按位取反</td><td>~</td><td>15</td></tr><tr><td>符号运算符</td><td> 或-</td><td>14</td></tr><tr><td>乘、除</td><td>*、/、//、%</td><td>13</td></tr><tr><td>加、减</td><td> 、-</td><td>12</td></tr><tr><td>位移</td><td>>>、<<</td><td>11</td></tr><tr><td>按位与</td><td>&</td><td>10</td></tr><tr><td>按位异或</td><td>^</td><td>9</td></tr><tr><td>按位或</td><td>|</td><td>8</td></tr><tr><td>比较运算符</td><td>==、!=、>、>=、<、<= </td><td>7</td></tr><tr><td>is运算符</td><td>is、is not</td><td>6</td></tr><tr><td>in运算符</td><td>in、not in</td><td>5</td></tr><tr><td>逻辑非</td><td>not</td><td>4</td></tr><tr><td>逻辑与</td><td>and</td><td>3</td></tr><tr><td>逻辑或</td><td>or</td><td>2</td></tr></tbody></table>

根据表中运算符的优先级,我们分析 4 4<<2 语句的执行结果。程序先执行 4 4 得到结果 8,再执行 8<<2 得到 32。如果使用“()”就可以改变程序的执行顺序,比如 4 (4<<2),则先执行 4<<2 得到结果16,再执行 4 16 得到 20。

虽然 Python 运算符存在优先级的关系,但并不推荐过度依赖运算符的优先级,因为这会导致程序的可读性降低。因此,在这里要提醒读者:

不要把一个表达式写得过于复杂,如果一个表达式过于复杂,则把它分成几步来完成。

不要过多地依赖运算符的优先级来控制表达式的执行顺序,这样可读性太差,应尽量使用“()”来控制表达式的执行顺序。

您可能感兴趣的文章:
VBScript 运算符
python中x的平方怎么写
python表达式是什么
Python运算符优先级
VBScript的运算符
php正则表达式完全教程(三)
php正则表达式完全教程三
php中运算符的优先级是什么?
怎么使用python进行整除取余求幂
php运算符的优先级是什么?

[关闭]
~ ~