Python运算符的优先级

Python中常用的运算符有算术运算符、关系运算符、身份运算符、成员运算符、逻辑运算符、赋值运算符共 7 大类,掌握七大运算符的优先级,对解题很有帮助。具体见下表:

运算符类型(从高到低) 说明
() 括号的优先级最高
算术运算符 ** > */%// > +-
关系运算符、身份运算符、成员运算符 >、>=、<=、==、!=
is、not is
in、not in
逻辑运算符 not > and > or
赋值运算符 =、+=、-=、*=、/=、%=等

注意事项

1、括号()的优先级是最高的,有括号先算括号

print(3+5*2) # 输出:13
print((3+5)*2) # 输出:16

2、算术运算符

  1. **幂运算符的优先级最高
  2. */%// 次之
  3. +-最后
print(5*2**3) # 输出:40
print(-2**3) # 输出:-8。先进行幂运算,再进行负号运算

3. 关系运算符、身份运算符、成员运算符

这三个运算符是平级的,但是在计算时并不像其他运算符那样按照先后顺序进行计算,而是使用and进行拆分,例如True == False in [False],无论是先算==还是in,结果都是True。但实际的运行结果是False,这是因为上述表达式等价于True == False and False in [False]

  • 当一个表达式出现多个连续的以上运算符时,使用and进行拆分
print(1<2<3) # 输出:True。等价于1<2 and 2<3
print(True == False in [False]) # 输出:False。等价于True == False and False in [False]

4、逻辑运算符

  • not > and > or
  • 逻辑运算符的运算结果不一定是逻辑值
  • a or b,当a为真(非0)时返回a,当a为假(0)时返回b
  • a and b,当a为真时返回b,当a为假时返回a
print(5>3 and not 5==3) # 输出:True
print(1 or 2) # 输出1
print(1 and 2) # 输出2

你可能感兴趣的:(python,python,优先级)