Python 3 – 运算符优先级示例
在 Python 编程语言中,运算符优先级是决定运算顺序的重要因素。如果你不熟悉运算符优先级,你很可能会遇到一些令人困惑的问题。
本文将介绍 Python 3 中通过示例代码演示运算符优先级的用法。
运算符优先级
首先,让我们简单回顾一下运算符优先级。大多数的程序语言都有类似的规则,但是这些规则在不同语言中细节有所不同。在 Python 3 中,运算符优先级如下:
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + – | 按位翻转, 正负号 |
* / % // | 乘,除,取模和取整除 |
+ – | 加法减法 |
>> << | 右移,左移 |
& | 位 ‘AND’ |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> != | 等于运算符 |
= %= /= //= -= += /= *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
示例代码
接下来,看一看下面的代码。我们用括号来显示运算符优先级。首先,我们将两个数字相加,再把结果乘以两个数字之和的平方。
a = 2
b = 3
c = 4
result = (a + b) * (c ** 2)
print(result)
以上代码运行结果为 100。请注意,括号可以覆盖优先级规则。
接下来,看一看下面的代码。我们将两个数字相除,并将结果地板除以9.
a = 3
b = 6
result = a / b // 9
print(result)
以上代码运行结果为 0.0。请注意,地板除(双斜杠 //)的优先级高于除法运算符。
接下来,看一看下面的代码。我们将两个数字加和除以3,并将结果与另一个数字相加。
a = 2
b = 3
c = 4
result = (a + b) / 3 + c
print(result)
以上代码运行结果为 5.0。请注意,加法比除法优先级高。
接下来,看一看下面的代码。我们将两个数字相加,再将结果取负,最后两个参与乘法运算。
a = 2
b = 3
result = -(a + b) * 2
print(result)
以上代码运行结果为 -10。请注意,括号可以覆盖优先级规则。
接下来,看一看下面的代码。我们将两个数字相加,然后将结果与另一个数字相乘,最后再加上一个数字。
a = 2
b = 3
c = 4
result = a + b * c + 5
print(result)
以上代码运行结果为 19。请注意,乘法比加法高。
结论
在 Python 3 中,使用括号使代码更容易理解是一个好习惯,同时也有助于规避运算符优先级可能导致的问题。
记住,即使是有经验的 Python 3 程序员,在编写复杂的表达式时,也会遇到优先级问题。所以,仔细研读运算符优先级规则是非常重要的。