一.算术运算符
1.常用的算术运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 1 + 1 输出结果为 2 |
- | 减 | 1 - 1 输出结果为 0 |
* | 乘 | 2 * 2 输出结果为 4 |
/ | 除 | 10 / 2 输出结果为 5 |
// | 整除,除法运算,抛弃结果小数点后的数字 | 9 // 4 输出结果为 2 |
% | 取余(取模) | 9 % 4 输出结果为 1 |
** | 幂指数,就是用于幂运算的 | 2 ** 4 输出结果为 16,即2的4次方,2 * 2 * 2 * 2 |
() | 小括号 | 小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9 |
2.使用
(1)基本的运算符
num1 = 10
num2 = 2
# 四则运算 + - * /
print(f'加:{num1 + num2}')
print(f'减:{num1 - num2}')
print(f'乘:{num1 * num2}')
print(f'除:{num1 / num2}')
(2)Python特有的
num1 = 20
num2 = 6
num3 = 5
# 1、整除
print(f'整除:{num1 // num2}') # 整除:3
# 2、求余数
print(f'余数:{num1 % num2}') # 余数:2
# 3、幂指数
print(f'幂指数:{num2 ** 3}') # 幂指数:216
# 4、圆括号
print(f'优先级:{(num1 + num2) * num3}') # 优先级:130
二.赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值 | 将=右侧的结果赋值给等号左侧的变量 |
案例1:把某个值赋值给某个变量
num = 10
三.复合赋值运算符
**概述:**赋值运算符就是算术运算符和赋值运算符的结合
**计算顺序:**先执行算术运算符,执行完毕后,把结果赋值给左边的变量
i = 1
# 相加并赋值,先加1,然后把结果赋值给左边的变量
i += 1
print(f'更新后,i的值为:{i}')
num1 = 9
# 取模并赋值,先求余数,然后在把结果赋值给左边的变量
num1 %= 2
print(f'更新后,num1的值为:{num1}')
num2 = 2
# 幂指数并赋值,先求幂指数,然后把结果赋值给左边的变量
num2 **= 3
print(f'更新后,num2的值为:{num2}')
四.比较运算符
**概述:**就是大于小于这些比较运算符,其比较返回的结果是布尔类型
**案例:**两个数大小的比较
num1 = 10
num2 = 20
print(num1 > num2) # False
print(num1 < num2) # True
print(num1 >= num2) # False
print(num1 <= num2) # True
print(num1 == num2) # False
print(num1 != num2) # True
五.逻辑运算符
1.分类
not就是取反,只有一个表达式
not 表达式
,如果表达式为True,则not以后就返回False。反之,则返回True
2.案例
a = 1
b = 2
c = 3
print((a > b) and (b > c)) # False
print((a > b) or (b > c)) # False
print((a < b) or (b > c)) # True
print(not (a > b)) # True,就是当表达式不成立时其返回True,反之亦然
六.短路运算
1.概述
Python把0、空字符串和None看成 False,其他数值和非空字符串都看成 True
Python中并没有直接的"短路运算"语法结构,但在Python 中,使用 and 和 or 关键字进行逻辑运算时,由于它们的懒惰求值(lazy evaluation)特性,实际上也实现了类似短路的效果
2.短路逻辑
(1)and短路
**and短路:**当使用and关键字连接两个表达式时,如果第一个表达式为False则此时表达式结果已经确定,其不会继续往下计算第二个表达式的值。
print(3 and 4) # 4,3为真,其结果由4决定,则其结果为4
print(0 and 1) # 0,0为假,则结果此时已经得到,故其结果为0
(2)or短路
**or 短路:**当使用 or 关键字连接两个表达式时,如果第一个表达式为 True,则整个表达式的结果就已经确定为 True,因此 Python 不会再去计算第二个表达式的值。
print(6 or 7) # 6,6已为真,不会看后面的了,直接返回6
print(6 and 7 or 8) # 7