跳至正文
View Categories

< 1 min read

主要内容 #

  1. 了解优先级的概念
  2. 熟悉运算符的优先级

1. 优先级的概念 #

在编程当中,运算符也是有优先级的。 一个表达式中可能会包含多种不同的运算, 这些运算只有按一定的顺序进行结合,才能保证运算的合理性和结果的正确性、以及唯一性。 优先级高的运算符先结合,优先级低的运算符后结合。 相同优先级中,大多数运算符的结合性是从左到右。 只有三个优先级是从右至左结合,它们是单目运算符、条件运算符、以及赋值运算符。

2. 运算符的优先级 #

以下表格列出了运算符的优先级,优先级数字越高,表示优先级越高。 比如:小括号的优先级是最高的,凡是有小括号的,必须优先对小括号里的内容进行运算。
运算符说明 Python运算符 优先级
小括号 () 9
** 8
乘除 * / // % 7
加减 + – 6
比较运算符 == != > >= < <= 5
逻辑非 not 4
逻辑与 and 3
逻辑或 or 2
赋值运算符 = %= /= //= += -= *= **= 1
先计算乘除,后计算加减: 同时有乘除,则按从左到右的结合性进行运算:
print(2+3*4/6)
print(3+10-6/2*2)
先计算小括号里的式子,再计算乘除,最后加减
a = (2+3)*4/6
print(a)
b = 3+(10-6)/2*2
print(b)
运行以下程序,体会运算符的优先级:
print(16/2**3)
print(2+2 == 2*2)
print(2**2 > 4)
print(2**2 >= 4)
print(5 > 2 and 6 < 4)
print(5 > 2 or 6 < 4)
print(not False and 5>2)

3. 小结 #

  • 优先级高的运算符先结合,优先级低的运算符后结合
  • 相同优先级中,大多数运算符的结合性是从左到右。
  • 习题 #

    1. 运行以下程序,并查看结果。
    2. 修改以下代码,将计算c变量的优先级最高的运算用括号括起来,再次运行,修改后的结果与修改前的结果要求一至。
    3. a = float(input('请输入a:  '))
      b = float(input('请输入b:  '))
      c = a/b**2
      print('c=',c)
      c = a > b and c != b
      print('c=',c)

    OJ训练题 #

    1、【入门】输入一个三位数,把个位和百位对调后输出 – ★
    2、【入门】四位数的和 – ★
    3、【入门】两位数运算 – ★
    4、【入门】求花坛的面积 – ★★
    5、【入门】扩建花圃 – ★★★