1. 前言
Python 运算符优先级是 Python 语言中的一个基本概念。对于初学者来说,必须清楚地理解运算符的优先级顺序,才能编写出正确的代码。在本文中,我们将详细介绍 Python 运算符的优先级顺序。
2. 运算符优先级顺序
Python 运算符的优先级顺序如下:
最高优先级:括号()
幂运算符:**
正负号运算符:+,-
*、/、%、//乘、除、取模、取整除
+、-加、减
比较运算符:>,<,>=,<=,!=或者==
逻辑运算符:and、or、not
赋值运算符:=、=、+=、-=、*=、/=、%=、//=、**=
2.1 括号()
括号是 Python 中最高优先级的运算符,它的作用是改变计算顺序,可以用于分组,用于提高某一表达式的优先级。括号内的运算先于括号外的运算。
a = 2
b = 3
c = 4
result = (a + b) * c
print(result) # 20
2.2 幂运算符:**
幂运算符是 Python 中的一种运算符,用来表示指数运算,它的优先级比正负号、乘除取模高,但比括号低。
a = 2
b = 3
result = a ** b
print(result) # 8
2.3 正负号运算符:+,-
正负号运算符是 Python 中的一种运算符,用来表示正数或负数,它的优先级比乘除取模高,但比幂运算符低。
a = -3
b = +3
print(a) # -3
print(b) # 3
2.4 乘除取模取整除运算符:*,/,%,//
乘除取模取整除运算符是 Python 中的一种运算符,用来进行乘法、除法、取模和取整除的运算,它的优先级比加减运算符高,但比正负号和幂运算符低。
a = 3
b = 2
print(a * b) # 6
print(a / b) # 1.5
print(a % b) # 1
print(a // b) # 1
2.5 加减运算符:+,-
加减运算符是 Python 中的一种运算符,用来进行加法或减法的运算,它的优先级比比较运算符和逻辑运算符高,但比乘除取模和取整除的运算符低。
a = 3
b = 2
print(a + b) # 5
print(a - b) # 1
2.6 比较运算符:>,<,>=,<=,!=或者==
比较运算符是 Python 中的一种运算符,用来进行比较大小或是否相等的运算,它的优先级比逻辑运算符高,但比赋值运算符低。
a = 3
b = 2
print(a > b) # True
print(a < b) # False
print(a >= b) # True
print(a <= b) # False
print(a != b) # True
print(a == b) # False
2.7 逻辑运算符:and、or、not
逻辑运算符是 Python 中的一种运算符,用来进行逻辑运算,包括逻辑与、逻辑或和逻辑非,它的优先级比赋值运算符高,但比括号和比较运算符低。
a = True
b = False
print(a and b) # False
print(a or b) # True
print(not b) # True
2.8 赋值运算符:=、=、+=、-=、*=、/=、%=、//=、**=
赋值运算符是 Python 中的一种运算符,用来进行赋值操作,包括简单赋值、加减乘除取模和取整除的复合赋值运算,以及幂运算符的赋值运算,它的优先级比逻辑运算符和比较运算符低,但比逗号运算符高。
a = 3
b = 2
a += b # 相当于 a = a + b
print(a) # 5
a -= b # 相当于 a = a - b
print(a) # 3
a *= b # 相当于 a = a * b
print(a) # 6
a /= b # 相当于 a = a / b
print(a) # 3.0
a %= b # 相当于 a = a % b
print(a) # 1.0
a //= b # 相当于 a = a // b
print(a) # 0.0
a **= b # 相当于 a = a ** b
print(a) # 0.0
3. 总结
在 Python 中,不同的运算符有不同的优先级顺序。为了避免混淆,我们必须明确各种运算符的优先级关系。在编写代码时,可以使用括号来改变运算顺序,以达到预期的结果。