运算符的类别

  • 算数运算符
  • 赋值运算符
  • 复合赋值运算符
  • ⽐较运算符
  • 逻辑运算符

1、算术运算符

符号

描述

实例

+


print(1+1) 输出结果为2

-


print(1-1) 输出结果为0

*


print(2*2) 输出结果为4

/


print(4/2) 输出结果为2

//

整除,向下取整

print(9//4) 输出结果为2

%

取余

print(9//4) 输出结果为1

**

乘方

print(2**4) 输出结果为16

()

优先级

print((1+1)*3) 输出结果为6


2、赋值运算符

运算符

描述

实例

=

赋值

将=右侧的结果赋值给=左侧的变量名

2.1 单变量赋值

num = 1
print(num+1)

# 运行结果:
2

2.2 多变量赋值

num1, float1, str1 = 10, 0.5, 'hello world'
print(num1)
print(float1)
print(str1)

# 运行结果:
10
0.5
hello world

2.3 多变量相同赋值

a = b = 10
print(a)
print(b)

# 运行结果:
10
10

3、复合赋值运算符

运算符

描述

实例

+=

加法赋值运算符

a+=1等价于a=a+1

-=

减法赋值运算符

a-=1等价于a=a-1

*=

乘法赋值运算符

a*=1等价于a=ax1

/=

除法赋值运算符

a/=1等价于a=a/1

//=

整除赋值运算符

a//=1等价于a=a//1

%=

取余赋值运算符

a%=1等价于a=a%1

**=

次方赋值运算符

a**=1等价于a=axx1

实例

a = 100
a += 1     # a = a + 1的缩写,即a = 100 + 1,相当于给a在原有基础上重新赋值
print(a)

# 运行结果:
101

b = 2 
b *= 3    # b = b * 3,即b = 2 * 3
print(b) 

# 运行结果:
6

c = 10
c += 1 + 2     # 先算运算符右侧1 + 2 = 3, c += 3 , 推导出c = 10 + 3
print(c)

# 运行结果:
13

4、比较运算符

运算符

描述

实例

==

判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False)

如a=3,b=3,则(a == b) 为 True

!=

不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False)

如a=3,b=3,则(a != b) 为 False

>

运算符左侧操作数结果是否⼤于右侧操作数结果,如果⼤于,则条件为真,否则为假

如a=7,b=3,则(a > b) 为 True

>=

运算符左侧操作数结果是否⼤于等于右侧操作数结果,如果⼤于等于,则条件为真,否则为假

a=3,b=3,则(a >= b) 为 True

<

运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假

如a=7,b=3,则(a < b) 为 False

<=

运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于等于,则条件为真,否则为假

如a=3,b=3,则(a <= b) 为 True

实例

a = 7 
b = 5
print(a == b)   # False
print(a != b)   # True
print(a < b)    # False
print(a > b)    # True
print(a <= b)   # False
print(a >= b)   # True

5、逻辑运算符

运算符

逻辑表达式

描述

实例

and

a and b

条件a和条件b同时为真,结果才为真,否则结果都是假

True and False, 返回False。

or

a or b

条件a和条件b同时为假,结果才为假,否则结果都是真

False or True, 返回True。

not

not b

作用是取反或者否定

not True 返回 False; not False返回 True

实例

a = 1
b = 2
c = 3
print((a < b) and (b < c))  # True
print((a > b) and (b < c))  # False
print((a > b) or (b < c))   # True
print(not (a > b))          # True

逻辑运算符小结:

and、or一般是用于对多个条件的综合判断,将True理解为1,False理解为0,可以按下面的方式来理解其中的逻辑:

  1. and的逻辑是找0,只要有一个0就是0,所以会一直找到最后一个非0数据;
  2. and理解为乘法*: 0 * 1 = 0, 1 * 0 = 0, 0 * 0 = 0, 1 * 1 = 1;
  3. or的逻辑是找-非0,只要有一个非0就不是0,所以找到第一个非0数据就会停下来;
  4. or理解为加法+: 0 + 1 = 1, 1 + 0 = 1,0 + 0 = 0 ,1 + 1 = 2 。(1和2都是非0数字,即是True)

6、运算符优先级

  • 小括号()优先级最高
  • 运算符优先级按类别排序:算术 > 位 > 身份 > 成员 > 比较 > 逻辑 > 赋值 (位非运算符是个另外,它高于乘除)
  • 身份、成员、比较、赋值运算符,同类中优先级相同,有多个同类运算符的按从左至右
  • 算术运算符中: 乘方最高,乘、除、整除、取余次之,加减最低
  • 位运算符中:位非 > 左右移 > 位与 > 位异或 > 位或
  • 逻辑运算符中:最高,次之,最低(非:not,与:and,或:or)