- 1 数学运算符
- 2. 比较运算符
- 3. 逻辑运算符
- 3.1 and - 逻辑与运算
- 3.2 or - 逻辑或运算
- 3.3 not - 逻辑非运算
- 4. 赋值运算符
- 4.1 =赋值运算符
- 4.2 复合赋值运算符
- 5. 运算符优先级
加(+)、减(-)、乘(*)、除(/)、整除(//)、取余(%)、幂运算(**)
- python中的+、-、*、/和数学中的+、-、×、÷功能一样
print(5 + 2) print(5 + 2.0) print(5 - 2) print(5 * 2) print(5 / 2) # 运行结果 ''' 7 7.0 3 10 2.5 '''
注意:/ 的结果一定是浮点数,其它运算符的运算结果的类型和运算对象有关
- 整除(//)
x // y : 求x除以y的商,商向小取值(找和小数相邻的两个整数中较小的那个)
print(5 // 2) print(-5 // 2) # 运行结果 ''' 2 -3 '''
应用1:希望能整除的情况下。商是整型
print(4 / 2) print(int(4 / 2)) print(4 // 2) # 运行结果 ''' 2.0 2 2 '''
应用2:去掉一个整数的低位数、保留高位数
num = 2342 print(num // 10) print(num // 100) # 运行结果 ''' 234 23 '''
- 取余、取模(%)
x % y : 求x除以y的余数
print(5 % 2) print(15 % 4) # 运行结果 ''' 1 3 '''
应用1:判断两个数字之间的整除关系(余数是否为0)
print(71 % 2) print(100 % 5) # 运行结果 ''' 1 0 '''
应用2:去掉高位数、保留低位数
num = 27283 print(num % 10) print(num % 100) # 运行结果 ''' 3 83 '''
练习:获取任意一个正整数的十位数
num = 8271 result = num % 100 // 10 # result = num // 10 % 10 print(result) # 运行结果 ''' 7 '''
- 幂运算(**)
x ** y : 求x的y次方
print(2 ** 3) print(5 ** 4) print(16 ** 0.5) print(2 ** -3) # 运行结果 ''' 8 625 4.0 0.125 '''2. 比较运算符
大于(>)、小于(<)、大于等于(>=)、小于等于(<=>)、等于(==)、不等于(!=)
注意1:所有的比较运算符的运算结果都是布尔值
print(10 > 30)
print(10 > 30)
print(10 == 30)
print(10 == 10)
print(10 >= 10)
print(10 <= 10)
print(10 != 10)
age = 23
print('是否成年', age >= 18)
# 运行结果
'''
False
False
False
True
True
True
False
是否成年 True
'''
注意2:Python的比较运算符直接连写表示范围
3. 逻辑运算符and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
- 单一条件:如果下雨;如果温度高于35度
- 复合条件:并且、或者
应用场景:如果需要多个条件同时满足,就用and连接。相当于生活中的"并且"
运算规则:条件1 and 条件2
如果两个条件都成立结果是True,只要有一个不成立结果就是False
练习1:写判断num是否是大于10的偶数
num = 100
print('num是否是大于10的偶数', num > 10 and num % 2 == 0)
# 运行结果
'''
num是否是大于10的偶数 True
'''
练习2:写条件判断num是否能同时被3和7整除
num = 84
print('num是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
# 运行结果
'''
num是否能同时被3和7整除: True
'''
3.2 or - 逻辑或运算
- 应用场景:如果要求多个条件中有一个条件成立就行,就用or连接;相当于生活中的或者
- 运算规则:条件1 or条件2-如果两个条件都不成立结果就是False, 只要有一一个条件成立结果就是True
练习1
num = 23
print('num是否能被3或者5整除:', num % 3 == 0 or num % 5 == 0)
# 运行结果
'''
num是否能被3或者5整除: False
'''
练习2
year = 2000
print('year是否是闰年:', (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))
# 运行结果
'''
year是否是闰年: True
'''
3.3 not - 逻辑非运算
- 应用场景:对指定条件进行否定(如果一个条件正向写条件很多,反向写条件很少,就可以用not 反向条件)
- 运算规则:not 条件
练习:判断num是否不能同时被3和7整除
num = 23
print('num是否不能同时被3和7整除:', not num % 21 == 0)
# 运行结果
'''
num是否不能同时被3和7整除: True
'''
4. 赋值运算符
=、+=、-=、*=、/=、**=
注意:所有的赋值运算符都是用来给变量赋值的,赋值运算没有结果
变量 = 数据
将数据保存到变量中,变量既可以是已经定义过的变量,也可以是没有定义过的变量
+=、-=、*=、/=、**=
变量 += 数据
先将变量中的数据取出来,然后和后面的数据进行加法运算,最后将计算结果再赋值给变量。
变量必须是已经定义过的变量,并且里面保存的数据,可以和后面的数据进行加法运算
a = 20 a += 10 # a = a + 10 -> a = 20 + 10 -> a = 30 print(a) # 30 a -= 5 # a = a - 5 -> a = 30 - 5 = 25 a *= 2 # a *= 2 -> 25 * 2 -> a = 50 a %= 3 # a = a % 3 -> a = 50 % 3 = 2 print(a) print(10 + 20) print(10 > 20) age = 19 print(age >= 18 and age <= 28) # 所有的赋值数据都是没有结果,无法提供数据 # print(a = 10) # print(age += 20) # a = (b = 1)5. 运算符优先级
- 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低的)
- 数学运算符(幂运算 > 乘、除、取余、整除 > 加减)
- 有括号先算(小括号)



