运算符和分支
定义变量和给变量赋值的原理
-
python定义变量的时候,需要先申请内存,内存申请多大看数据需要多大,然后将数据保存到内存中。
-
重新给变量赋值的时候,会重新申请新的内存,新的内存的大小由新的数据的大小决定。
a = 10
print(id(a)) # id(变量) - 获取地址 #输出为2244597344848
数学运算符
-
+、-、*、/、%、//、**
-
python的加减乘除和小学数学中的加减乘除的功能一样。
print(2 + 5) #输出为7
print(2 - 5) #输出为-3
print(2 * 5) #输出为10
print(5 / 2) #输出为2.5
- +、-、*,如果运算对象中有浮点数,结果就是浮点数;如果都是整数,结果都是整数。
print(2.0+5) #输出为7.0
- / - 除法运算的结果一定是浮点数。
print(5/2) #输出为2.5
print(4/2) #输出为2.0
- %(取余;取模),x%y - 求x除以y的余数。
print(10%3) #输出为1
print(15%6) #输出为3
应用一:判断一个数是否能够被另外一个数整除,就看两个数的余数是否为0。
print(4%2) #输出为0
print(16%4) #输出为0
应用二:取整数的低位数 - 对10或者10的幂次方取余。
num = 126
#获取num的个位数
print(num % 10) #输出为6
- //(整除) - 求商,商向小取整。
print(5 / 2) #输出为2.5
print(5 // 2) #输出为2
print(3.8 //2) #输出为1
print(-5 // 2) #输出为-3
应用一:去掉低位数。
print(4396//10) #输出为439
- **(幂运算),x ** y - 求x的y次方。
print(3 ** 5) #输出为243
print(2 ** 3) #输出为8
print(16 ** 0.5) #输出为4.0
比较运算符
- <(小于)、>(大于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
-
所有比较运算符的运算结果都是布尔值。
print(10 > 20) print(5 == 6 print(5 != 6) print(5 > 6) print(5 >= 6)
-
python可以直接通过比较运算符来表示范围。
x = 8 print(0 <= x <=10)
逻辑运算符
-
and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算符)
1.and(逻辑与运算)
应用场景:用于需要多个条件同时成立的时候,相当于生活中的并且。
运算规则:条件1 and 条件2 - 两个条件都是True,结果才是True。
2.or(逻辑或运算)
应用场景:用于需要多个条件只要有一个满足就可以的情况,相当于生活中的或者。
运算规则:条件1 or 条件2 - 两个体哦阿健只要有一个是True结果就是True;两个都是 False结果 才是False。
3.not(逻辑非运算符)
应用场景:(对一个条件进行否定。)当一个条件正向写的时候情况很多很复杂,反向却很简单的时候,条件就反向写再加not。
4.运算规则:not 条件。
赋值运算符
-
=、+=、-=、*=、/=、%=、//=、**=
-
所有赋值运算符的功能都是将数据之际或者间接存储到一个变量中,不会喊声任何结果。
-
变量 赋值运算符 数据
-
重要结论:赋值运算表达式是没有结果的。
-
= 变量 = 数据
-
复合的赋值运算符:+=、-=、*=、/=、//=、**=
-
注意:前面变量必须是已经赋值过的变量。
运算符的优先级
-
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
-
** > *、/、%、// > +、-
-
右括号先算括号里面的。
分支结构
- 流程控制 - 程序执行方式
1)顺序结构(默认) - 代码从上往下依次执行,每条语句执行一次。
2)分支结构 - 根据条件选择执行或者不执行相关操作。
3)循环结构 - 让代码重复执行。
- if语句
1)if单分支结构 - 满足条件执行某个操作,如果条件不满足这个操作就不执行。
语法:
if 条件语句:
代码段
说明:
-
if - 关键字;固定写法
-
条件语句 - 任何有结果的表达式,比如:具体的数据、保存数据的变量、运算表达式(赋值不可以)。
-
: - 固定写法
-
代码段 - 从结构上就是和if保持一个缩进的一条或者多条语句;代码段就是满足条件的时候才执行的代码。
-
执行过程:先判断条件语句是否为True,如果是就执行代码段,然后再执行后面的其他代码;如果是False,不执行代码段直接执行其他代码。
-
注意:如果条件语句的结果不是布尔,就转换成布尔再看(其他数据转换布尔的时候除了零值和空值,都是True)。
2)if双分支结构 - 满足条件执行某个操作,这个条件不满足的时候执行另外一个操作。
-
if - else (相当于生活中的:如果XX就XXX,否则就XXX)
语法:
if 条件语句:
代码段1(满足条件执行的代码)
else:
代码段2(不满足条件执行的代码)
3)if多分支结构 - 根据不同的条件做不一样的事情
方案一:直接使用多个if。
方案二:使用if-elif-else,后面的条件是在前面的条件不成立的前提进行判断的, 所有条件都不成立的时候才执行else中的代码。
if 条件1:
代码段1
elif 条件2:
代码段2
elif 条件3:
代码段
...
else:
代码段N