首页 > 编程知识 正文

Python运算符优先级大小

时间:2023-11-19 03:02:24 阅读:293261 作者:CASL

本文将从多个方面对Python中运算符的优先级大小进行详细阐述,同时给出代码示例。

一、运算符优先级概述

在Python中,各个运算符有不同的优先级,优先级高的运算符先进行运算。如果有多个运算符在一个表达式中,需要根据优先级的高低来确定计算的顺序。


a = 2
b = 3
c = 4
d = a + b * c # 先计算乘法再加法
e = (a + b) * c # 先计算括号中的加法再乘法

二、算术运算符的优先级

在Python中,算术运算符的优先级如下:

  1. 幂运算 **
  2. 正负号 +x,-x
  3. 乘法、除法、取模运算 *,/,%
  4. 加法、减法运算 +,-

使用括号可以改变优先级顺序。


a = 2
b = 3
c = 4
d = a + b / c # 先计算除法再加法
e = (a + b) / c # 先计算括号中的加法再除法
f = a ** b * c # 先计算幂运算再乘法

三、比较运算符的优先级

在Python中,比较运算符的优先级如下:

  1. 小于、小于等于、大于、大于等于运算 <,<=,>,>=
  2. 等于、不等于运算 ==,!=

使用括号可以改变优先级顺序。


a = 2
b = 3
c = 4
d = a < b <= c # 等价于 a < b and b <= c
e = a == b != c # 等价于 a == b and b != c

四、逻辑运算符的优先级

在Python中,逻辑运算符的优先级如下:

  1. 非运算 not
  2. 与运算 and
  3. 或运算 or

使用括号可以改变优先级顺序。


a = 2
b = 3
c = 4
d = not a < b and b < c # 等价于 not (a < b) and (b < c)
e = a < b or not b < c # 等价于 (a < b) or not (b < c)

五、位运算符的优先级

在Python中,位运算符的优先级如下:

  1. 按位取反运算 ~
  2. 按位与运算 &
  3. 按位异或运算 ^
  4. 按位或运算 |
  5. 左移运算 <<
  6. 右移运算 >>

使用括号可以改变优先级顺序。


a = 0b0110
b = 0b1010
c = 0b1100
d = a | b & c # 等价于 a | (b & c)
e = (a | b) & c # 先计算括号中的或运算再与运算

六、赋值运算符的优先级

在Python中,赋值运算符的优先级要低于所有的二元运算符,但是赋值运算符可以连续使用。


a = b = c = 1 # 连续赋值
a += b # 等价于 a = a + b

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。