1. 概述
运算符是在编程语言中经常使用的基本符号,用于执行特定操作的符号或关键字。python中的运算符优先级指定了在表达式中使用时哪个运算符优先级高,哪个运算符优先级低。
在python中,共有7种运算符优先级。
幂运算符(**)
一元运算符(+, -)
乘法运算符(*, /, %, //)
加法运算符(+, -)
位运算符(&, |, ^)
比较运算符(==, !=, >, <, >=, <=)
逻辑运算符(and, or, not)
本文将详细介绍每种运算符的使用和优先级,以及注意事项。
2. 幂运算符(**)
幂运算符用于计算一个数的几次方。幂运算符的优先级最高,高于其他所有运算符。
# 示例代码
result = 2 ** 3
print(result) # 输出8
2.1 注意事项
幂运算符的结合性是从右到左的。
# 示例代码
result = 2 ** 3 ** 2
print(result) # 输出512
result = (2 ** 3) ** 2
print(result) # 输出64
在第一个示例中,幂运算符从右到左结合。首先计算3的2次方,得到9,然后计算2的9次方,得到512。
在第二个示例中,使用括号将2的3次方括起来,使其优先计算。首先计算2的3次方,得到8,然后计算8的2次方,得到64。
3. 一元运算符(+, -)
一元运算符是仅操作一个数的运算符。在python中,只有正负号运算符属于一元运算符。一元运算符的优先级次于幂运算符,高于其他运算符。
# 示例代码
a = 3
b = -a
print(b) # 输出-3
4. 乘法运算符(*, /, %, //)
乘法运算符是用于执行乘法操作的运算符。乘法运算符包含四个操作符:乘法(*)、除法(/)、取模(%)和取整除(//)。乘法运算符的优先级次于幂运算符和一元运算符,高于加法运算符、位运算符、比较运算符和逻辑运算符。
4.1 乘法运算符(*)
乘法运算符用于执行两个数的乘法计算。两个数相乘得到的结果称为积。
# 示例代码
result = 3 * 4
print(result) # 输出12
4.2 除法运算符(/)
除法运算符用于执行两个数的除法计算。两个数相除得到的结果称为商。
# 示例代码
result = 9 / 3
print(result) # 输出3.0
在python中,当使用两个整数进行除法计算时,结果会自动转换为浮点数。
4.3 取模运算符(%)
取模运算符用于执行两个数的取模计算。取模计算是计算除数与被除数的余数。
# 示例代码
result = 9 % 4
print(result) # 输出1
4.4 取整除运算符(//)
取整除运算符用于执行两个数的除法计算,并向下取整。即对除法结果取整,并向下取整到最近的整数。
# 示例代码
result = 9 // 4
print(result) # 输出2
4.5 注意事项
当使用除法运算符时,需要注意被除数不能为零,否则会抛出ZeroDivisionError异常。
# 示例代码
result = 9 / 0
print(result)
在执行上述代码时,将抛出ZeroDivisionError异常。
5. 加法运算符(+,-)
加法运算符是用于执行加法和减法操作的运算符。加法运算符包含两个操作符:加法(+)和减法(-)。加法运算符的优先级次于幂运算符、一元运算符和乘法运算符,高于位运算符、比较运算符和逻辑运算符。
5.1 加法运算符(+)
加法运算符用于执行两个数的加法计算。两个数相加得到的结果称为和。
# 示例代码
result = 2 + 3
print(result) # 输出5
5.2 减法运算符(-)
减法运算符用于执行两个数的减法计算。第一个数减去第二个数得到的结果称为差。
# 示例代码
result = 6 - 4
print(result) # 输出2
5.3 注意事项
当使用减法运算符时,如果只有一个操作数,那么减号就成为一元运算符。
# 示例代码
result = -3
print(result) # 输出-3
6. 位运算符(&, |, ^)
位运算符是用于执行按位逻辑运算的运算符。位运算符包含三个操作符:按位与(&)、按位或(|)和按位异或(^)。位运算符的优先级次于幂运算符、一元运算符、乘法运算符和加法运算符,高于比较运算符和逻辑运算符。
6.1 按位与(&)
按位与运算符的计算规则是:对于每一个二进制位,都进行与运算,当两个相应的二进制位都为1时,结果的该位为1,否则为0。
# 示例代码
result = 5 & 3
print(result) # 输出1
6.2 按位或(|)
按位或运算符的计算规则是:对于每一个二进制位,都进行或运算,当两个相应的二进制位都为0时,结果的该位为0,否则为1。
# 示例代码
result = 5 | 3
print(result) # 输出7
6.3 按位异或(^)
按位异或运算符的计算规则是:对于每一个二进制位,都进行异或运算,当两个相应的二进制位只有一个为1时,结果的该位为1,否则为0。
# 示例代码
result = 5 ^ 3
print(result) # 输出6
7. 比较运算符(==, !=, >, <, >=, <=)
比较运算符是用于执行比较两个值的运算符。比较运算符包含六个操作符:等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。比较运算符的优先级次于幂运算符、一元运算符、乘法运算符、加法运算符和位运算符,高于逻辑运算符。
7.1 等于运算符(==)
等于运算符用于判断两个值是否相等。如果相等,则返回True,否则返回False。
# 示例代码
a = 5
b = 5
result = (a == b)
print(result) # 输出True
7.2 不等于运算符(!=)
不等于运算符用于判断两个值是否不相等。如果不相等,则返回True,否则返回False。
# 示例代码
a = 5
b = 3
result = (a != b)
print(result) # 输出True
7.3 大于运算符(>)
大于运算符用于判断一个值是否大于另一个值。如果第一个值大于第二个值,则返回True,否则返回False。
# 示例代码
a = 5
b = 3
result = (a > b)
print(result) # 输出True
7.4 小于运算符(<)
小于运算符用于判断一个值是否小于另一个值。如果第一个值小于第二个值,则返回True,否则返回False。
# 示例代码
a = 5
b = 7
result = (a < b)
print(result) # 输出True
7.5 大于等于运算符(>=)
大于等于运算符用于判断一个值是否大于或等于另一个值。如果第一个值大于或等于第二个值,则返回True,否则返回False。
# 示例代码
a = 5
b = 5
result = (a >= b)
print(result) # 输出True
7.6 小于等于运算符(<=)
小于等于运算符用于判断一个值是否小于或等于另一个值。如果第一个值小于或等于第二个值,则返回True,否则返回False。
# 示例代码
a = 5
b = 7
result = (a <= b)
print(result) # 输出True
8. 逻辑运算符(and, or, not)
逻辑运算符是用于执行逻辑运算的运算符。逻辑运算符包含三个操作符:与(and)、或(or)和非(not)。逻辑运算符的优先级最低,低于所有其他运算符。
8.1 与运算符(and)
与运算符用于判断两个条件是否同时为True。如果两个条件都为True,则返回True,否则返回False。
# 示例代码
a = 5
b = 7
result = (a < b) and (b < 10)
print(result) # 输出True
8.2 或运算符(or)
或运算符用于判断两个条件是否至少有一个为True。如果两个条件中至少有一个为True,则返回True,否则返回False。
# 示例代码
a = 5
b = 7
result = (a > b) or (b < 10)
print(result) # 输出True
8.3 非运算符(not)
非运算符是用于对一个条件取反的运算符。非运算符只对一个条件进行操作,将True变为False,将False变为True。
# 示例代码
a = 5
b = 7
result = not(a > b)
print(result) # 输出True
9. 总结
本文介绍了python的7种运算符优先级,在使用运算符时需要注意各种运算符的优先级和结合性。在使用除法运算符时,还需要特别注意被除数不能为零。