- 分为算术运算符、比较运算符、逻辑运算符、赋值运算符。
-
+(加)、-(减)、*(乘)、/(除)、//(整除)、**(幂运算)、%(取余)
print(2 + 3, 2 - 3, 2 * 3) -
除法运算符:计算的结果永远是浮点数。
print(6 / 3) -
整除:在除法运算基础上向小取整,结果永远是整型。
print(9 / 4) print(9 // 4) -
取余:余数不可能小于0
print(10 / 3, 10 // 3) print(-10 / 3, -10 // 3) print(10 % 3) # 1 print(-10 % 3) # 2 print(-10 - (-10 // 3 * 3))
- 幂运算:如果使用幂运算做开方,结果永远是浮点数
print(2 ** 2, 4 ** 0.01, 4 ** 0.5)
-
and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
-
and:条件 and 条件,当and两边条件都成立的时候,整体成立;只要有一方不成立,整体均不成立。
-
中断操作:and左边条件不成立,右边条件无需再判断。
print(True and True) print(True and False) print(False and False)
- or: 条件 or 条件,当or两边条件都不成立时,整体不成立;只要有一方成立,整体成立。
- 中断操作:or左边条件成立,右边条件无需在判断。
print(True or True) print(False or True) print(False or False)
- not:取反
print(not (True or True))
-
(大于)、<(小于)、>=(大于或等于)、<=(小于或等于)、==(等等于)、!=(不等于)
print(2 > 3) print(2 <= 3) print(2 != 3) print(2 + 1 == 3) # 算术运算符优先级高于比较运算符
- 例题:判断一个年份是否是闰年?
- 条件一:能被4整除但不能被100整除
- 条件二:能被400整除
year = 2000 print(year % 400 == 0 or (year % 4 == 0 and year % 100 != 0)) print(1 > 2 or 3 < 4 or 4 <= 5 and 1 > 0 and 3 < 4) # 从左往右依次判断4. 赋值运算符(优先级最低)
- =、+=、-=、*=、/=、//=、**=、%=
num = 0 num += 2 # num = num + 2 num *= 3 # num = num * 3 num -= 1 # num = num - 1 print(num) num %= 4 # num = num % 4 print(num)
- 复合赋值运算符
num *= num + 3 # num = num * (num + 3) print(num)5. 运算符优先级
a. 算术运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
b. ** 、*、/、//、% +、-
c. 有小括号,先算小括号里面的
- 构造器语法:int()、float()、str()、list()等,在数据类型后添加小括号。
- 浮点数可以直接转换成整型
print(int(1.1), int(1.9)) - 布尔值可以转换成整型,True == 1,False == 0
print(int(True), int(False)) - 去掉引号,是一个整数的字符串可以转换成整型。
print(int('1'))
- 整型能够转换成浮点型
print(float(1), float(0)) - 布尔值可以转换成浮点型。True == 1.0, False == 0.0
print(float(True), float(False)) - 去掉引号是数字的字符串可以转换成浮点型。
print(float('1'), float('1.0'), float('1.'), float('.1'))
- 0、0.0、None、‘’、[]、()、{}、set()能转换为False # 空
- 除此之外的所有数据均为True
print(int(bool(10))) print(1 == 10) print(bool(1) == bool(10))



