Python的运算符和分支
数学运算符
数学运算符:
+(加)、-(减)、*(乘)、/(除)、%(求余数,取模)、//(整除)、**(幂运算)
1. % - 求余数、取模
x % y - 求x除以y的余数
print(5 % 2) # 1
print(16 % 2) # 0
% 可用于判断一个数是否能被另一个数整除,取低位数或者判断奇偶性
2. // - 整除
x // y - x除以y的商向小取整
可以用于正整数取低位
print(1779451 // 10) # 去掉最后一位低位
print(1775451 // 100) # 去掉最后两位低位
比较运算符
比较运算符:
>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
注:所有比较运算符的运算结果都是布尔值(True、False),Python中的比较运算符可以像数学一样,通过连写来表示范围
逻辑运算符
逻辑运算符:
and(逻辑与运算符)、or(逻辑或运算)、not(逻辑非)
1. and - 逻辑与运算符
1)应用场景:
相当于生活中的并且,用于链接需要同时满足的多个条件
2)运算规则:
两个条件都成立时结果为True,否则为False
条件1 and 条件2
True and True - True
True and False - False
False and True - False
False and False - False
2. or - 逻辑或运算
1)应用场景:
相当于生活中的或者,用于连接需要多个条件中满足一个条件就成立的情况
2)运算规则:
只要有一个为True,结果为True
True or True - True
True or False - True
False or True - True
False or False - False
3. not - 逻辑非
1)应用场景:
对指定条件进行否定(取反)
2)运算规则:
not True - False
not False - True
4.短路操作
条件1 and 条件2 - 如果条件1是False,那么条件2不会执行(短路)
True and print('and条件2')
False and print('and条件2')
条件1 or 条件2 - 如果条件1是True,那么条件2不会执行(短路)
False or print('or条件2')
True or print('or条件2')
逻辑运算符的扩展 - 运算对象不是布尔值
print(8 and 7) # 7
print(8 or 7) # 8
数据1 and 数据2 - 若数据1的布尔值是True,结果就是数据2,否则结果就是数据1
数据1 or 数据2 - 若数据1的布尔值是True,结果就是数据1,否则结果是数据2
python中所有类型的数据都有布尔值。
所有的零值和空值对应的布尔值是False,其他数据的布尔值都是True
常见的零值和空值:0、0.0、0.00、’’、""、[]、()、{}、None
赋值运算符
赋值运算符:
=、+=、-=、*=、/=、%=、//=、**=
所有的赋值运算符的左边必须是变量
重要结论:所有的赋值运算符运算的功能都是给变量赋值,不会产生结果
-
=
定义变量后者重新给变量赋值的时候使用 -
+=、-=、*=、/=、%=、//=、**=
要求:赋值符号前面的变量必须是已经定义过变量
变量 += 数据 -> 变量 = 变量 + 数据 -
运算符的优先级
数字运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
** > *、/、%、// > +、-
有括号先算括号
分支结构
1. 流程控制
1)顺序结构(默认) - 代码从上至下依次执行,每条语句执行一次
2)分支结构 - 代码执行看条件是否成立(if语句)
3)循环结构 - 让代码重复执行(for、while)
2. if分支结构
- if单分支结构 - 满足条件执行某个操作,条件不满足时,操作不执行
语法:
if 条件语句:
代码段
说明
if - 关键字,固定写法
条件语句 - 任何有结果的表达式,例如:数据、运算表达式(赋值运算除外)、函数调用表达式等
: - 固定写法
代码段 - 与if保持缩进的一条或者多条语句(至少一条):需要满足条件才执行的代码
执行过程
先判断条件语句是否为True(如果条件语句的结果不是布尔,就转换成布尔再看),如果为True就执行代码段,否则代码段不执行
num = 14
if num % 2 == 0:
print('偶数')
if num % 2 != 0:
print('奇数')
if num % 2:
print('奇数')
if not num % 2:
print('偶数')
- if双分支结构 - 满足条件执行某个操作,不满足此条件,执行另一操作
语法:
if 条件语句:
代码段1(满足条件才执行的代码)
else:
代码段2(条件不满足的时候才执行的代码)
代码段3(不管条件满不满足,都执行)
age = 16
if age >= 18:
print('成年')
else:
print('未成年')
- if多分支结构 - 根据不同的条件做不一样的事情
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
...
else:
代码段n
前提:多个条件中如果其中一个条件满足,其他的条件绝对不会满足
将指定分数分为A(90以上)、B(80–90)、C(60–80)、D(60以下)四个等级
score = 60
if score > 90:
print('等级A')
elif 80 <= score:
print('等级B')
elif 60 <= score:
print('等级C')
else:
print('等级D')