2021-4-27运算符和分支结构总结
数学运算符
- +(加) 、-(减) 、*(乘)、/(除)
- %(取余)、//(整除)、**(幂运算)
- +、-、*、/ 和数学中的功能一模一样
- % 求余数
- 应用一:判断一个数是否能被另一个数整除
- 应用二:取一个数的低位数
num = 232
print(num % 10) #2
print(num % 100) #32
- // 整除(求商,商向小取整)
- 应用一:去掉低位数保留高位数
num == 9527
print(num // 10) #952
print(num // 100) #95
- ** 幂运算
- x ** y 求x的y次方
print(2 ** 3) #8
print(8 ** (1/3)) #2.0
比较运算符
- ==(等于) 、 !=(不等于) 、 >(大于) 、 <(小于) 、>=(大于等于) 、 <=(小于等于)
所有的比较运算符的运算结果都是布尔
python中的比较运算符支持表示范围的连写方式(别的语言不支持)
0 <= x <= 1
逻辑运算符
and:全真才是真,有假就是假。
or:有真就是真,全假才是假。
not:假就是真,真就是假。
and(与运算) 、 or(或运算) 、 not(非运算)
- and - 逻辑与运算
- 应用场景:要求多个条件同时满足的时候就将多个条件用and链接,相当于生活中的并且
- 运算符规则:两个都是True结果才是True,否则结果是False
True and True -> True
True and False -> False
False and True -> False
False and False -> False
- or - 逻辑或运算
- 应用场景:多个条件中只要有一个条件满足的时候就使用or将多个条件连接在一起,相当于生活中的或者
- 运算规则:两个都是False结果才是False,只要有一个是True,结果就是Ture
True or True -> True
True or False -> True
False or True -> True
False or False -> False
- not - 逻辑非运算
- 应用场景:对某一个条件进行否定
- 运算规则:
not True -> False
not False -> True
逻辑运算符扩展
- 短路操作
- 逻辑与的短路操作:表达式1 and 表达式2 中如果表达式1的结果是False.那么表达式2对应的代码不执行
- 逻辑或的短路操作:表达式1 or 表达式2 中如果表达式1的结果是True,那么表达式2对应的代码不执行
- 运算对象不是布尔值
- 与运算:表达式1 and 表达式2 - 如果表达式1的布尔值是True,整个与运算的结果是表达式2;如果表达式1的布尔值是False,整个与运算的结果是表达式1
- 或运算:表达式1 or 表达式2 - 如果表达式1的布尔值是False,整个与运算的结果是表达式2;如果表达式1的布尔值是True,整个与运算的结果是表达式1
- 非运算:not 表达式
- 补充:数据的布尔值(非常重要)
python中所有的数据都有布尔值。
所有为0为空的值布尔值对应的是False。其他都是True
零值和空值:0、’’、""、None
赋值运算符
赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
重要结论:
-
所有的赋值运算符都是给变量赋值,没有计算结果.(所有的赋值运算都没有结果)
-
所有赋值运算符的左边都必须是变量
比如:变量 += 数据 - 先将变量中保存的数据取出来,和右边的数据进行加法运算,将计算结果重新赋值给变量。 -
运算符的优先级
- 数学运算符 高于 比较运算符 高于 逻辑运算符 高于 赋值运算符(最低)
- ** > *、/、//、% > + 、-
- 有括号先算括号里面的
if分支结构
-
流程控制
- 顺序结构(默认) - 代码从上往下一条一条的执行,每条代码只执行一次
- 分支结构 - 根据条件去执行或者不执行某些代码
- 循环结构 - 让代码重复执行
-
分支结构 - if语句
- if单分支结构 - 满足条件执行某个操作,条件不满足的时候对应的操作不执行
语法:
if 条件语句:
代码段
说明:
if - 关键字,固定写法
条件语句 - 任何有结果的表达式(除了赋值语句以外的表达式),比如:数据、已经赋值过的变量、运算表达式、函数调用表达式
: - 固定写法(注意输入法)
代码段 - 和if保存一个缩进的一条或者多条语句(满足条件才执行的代码)
执行过程:
先判断条件语句的结果是否为True,如果为True就执行代码段,否则代码段不执行-
if双分支结构 - 满足条件执行某个操作,条件不满足的时候执行另外的操作
语法:
if 条件语句:
代码段1(满足条件要执行的代码)
else:
代码段2(条件不满足要执行的代码) -
if多分支结构 - 根据不同条件执行不同的操作(条件之间满足:其中一个条件满足了,另外的条件是绝对不会满足)
语法:
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3
else:
代码段N
- if单分支结构 - 满足条件执行某个操作,条件不满足的时候对应的操作不执行