python3xiaobaike_2020/chapter2/2-20 python3小白课:运算符优先级.md
2025-04-20 23:22:14 +08:00

145 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# python3小白课运算符优先级
我们在前面的课程中学习了许许多多的运算符我们在学习时为了简化都是最简单的写法来表述它们有时候一个表达式里面仅出现一个运算符方便大家理解。而它们如果同时出现在一起python解释器在解释的时候是有优先级顺序的我们来看看下面的表格
<table>
<caption>
Python 运算符优先级和结合性一览表
</caption>
<tbody>
<tr>
<th> 运算符说明</th>
<th> Python运算符</th>
<th> 优先级</th>
<th> 结合性</th>
<th> 优先级顺序</th>
</tr>
<tr>
<td> 小括号</td>
<td> ( )</td>
<td> 19</td>
<td></td>
<td colspan="1" rowspan="19"><br /> ︿<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|<br /> &nbsp;|&nbsp;<br /> &nbsp;|<br /> &nbsp;|<br /></td>
</tr>
<tr>
<td> 索引运算符</td>
<td> x[i] 或 x[i1: i2 [:i3]]</td>
<td> 18</td>
<td></td>
</tr>
<tr>
<td> 属性访问</td>
<td> x.attribute</td>
<td> 17</td>
<td></td>
</tr>
<tr>
<td> 乘方</td>
<td> **</td>
<td> 16</td>
<td></td>
</tr>
<tr>
<td> 按位取反</td>
<td> ~</td>
<td> 15</td>
<td></td>
</tr>
<tr>
<td> 符号运算符</td>
<td> +(正号)、-(负号)</td>
<td> 14</td>
<td></td>
</tr>
<tr>
<td> 乘除</td>
<td> *、/、//、%</td>
<td> 13</td>
<td></td>
</tr>
<tr>
<td> 加减</td>
<td> +、-</td>
<td> 12</td>
<td></td>
</tr>
<tr>
<td> 位移</td>
<td> &gt;&gt;&lt;&lt;</td>
<td> 11</td>
<td></td>
</tr>
<tr>
<td> 按位与</td>
<td> &amp;</td>
<td> 10</td>
<td></td>
</tr>
<tr>
<td> 按位异或</td>
<td> ^</td>
<td> 9</td>
<td></td>
</tr>
<tr>
<td> 按位或</td>
<td> |</td>
<td> 8</td>
<td></td>
</tr>
<tr>
<td> 比较运算符</td>
<td> ==、!=、&gt;&gt;=、&lt;&lt;=&nbsp;</td>
<td> 7</td>
<td></td>
</tr>
<tr>
<td> is 运算符</td>
<td> is、is not</td>
<td> 6</td>
<td></td>
</tr>
<tr>
<td> in 运算符</td>
<td> in、not in</td>
<td> 5</td>
<td></td>
</tr>
<tr>
<td> 逻辑非</td>
<td> not</td>
<td> 4</td>
<td></td>
</tr>
<tr>
<td> 逻辑与</td>
<td> and</td>
<td> 3</td>
<td></td>
</tr>
<tr>
<td> 逻辑或</td>
<td> or</td>
<td> 2</td>
<td></td>
</tr>
<tr>
<td> 逗号运算符</td>
<td> exp1, exp2</td>
<td> 1</td>
<td></td>
</tr>
</tbody>
</table>
上面这东西,大家看一看就好,在实际编写代码的过程中,我们需要注意代码的可读性,所以我们一般不需要写那么复杂的多个运算符糅杂在一起的语句,如果有,你可以拆成多行来写,这样阅读起来更加清晰。
同时我们可以注意到优先级最高的应该是`()`小括号,因此我们可以完全记不住这张表,使用小括号来将表达式计算顺序来表达清楚,这样更有助于代码的可读性。
### 单词释义
| 单词 | 释义 |
| --------- | ---------------------------------- |
| atrribute | 属性 |
| exp | expression表达式这个单词的简写形式 |