220920python学习:变量、运算符和分支结构
一、变量
-
变量的作用:保存数据。 程序中使用数据的方式:
-
定义变量:创建变量保存数据。 语法:变量 = 数据
-
使用变量 使用变量就是使用变量中保存的数据(变量中保存的数据能做的事情,变量都可以做)。 注意:变量必须先定义再使用。 -
修改变量值:重新给变量赋值。(后赋的值会覆盖变量中原来保存的数据) age = 18
age = 19
print(age)
-
同时定义多个变量
-
同时定义多个变量赋相同的值:变量名1 = 变量名2 = 变量名3 = … = 数据 x = y = z = 100
print(x, y, z)
-
同时定义多个变量赋不同的值:变量名1, 变量名2, 变量名3,… = 数据1, 数据2, 数据3,… 注意:前面的变量个数必须和后面的数据个数保存一致 m, n = 10, 20
print(m, n)
?练习:交换两个变量的值
v1 = 100
v2 = 320
v1, v2 = v2, v1
print(v1, v2)
t = v1
v1 = v2
v2 = t
print(v1, v2)
二、数字运算符
- +(加)、 -(减)、 *(乘)、 /(除)
python中 +、 - 、 * 、 / 和数学中的 +(加)、 -(减)、 *(乘)、 /(除) 的功能一样。
print(10 + 20) # 30
print(10 - 5) # 5
print(10 * 10) # 100
# 注意:除法运算的运算结果的类型一定是浮点型
print(4 / 2) # 2.0
-
%(取余/取模) x % y :求x除以y的余数 print(10 % 3)
print(15 % 4)
-
应用1:判断两个数是否存在整除关系(判断两个数的余数是否为0) num = 100
print(num % 2)
num = 9
print(num % 3)
-
应用2:取整数的低位数(让整数对10或者10的幂次方进行取余操作) num = 57836
print(num % 10)
print(num % 100)
print(num % 1000)
-
**(幂运算) print(2 ** 3)
print(4 ** 5)
print(16 ** 0.5)
print(8 ** (1/3))
print(3 ** -2)
print(5 ** -3)
-
//(整除) x // y:求x除以y的商,商向小取整。 print(5 // 2)
print(10 // 3)
print(-5 // 2)
三、比较运算符
比较运算符:>(大于)、 <(小于)、 >=(大于等于)、 <=(小于等于)、 ==(等于)、 !=(不等于)。
-
注意:所有比较运算的结果都是布尔值 print(10 > 20)
print(20 > 10)
print(20 >= 20)
print(10 == 20)
print(10 != 20)
num = 23
print('是否为奇数:', num % 2 == 1)
age = 16
print('是否成年:', age >= 18)
-
注意2:python的比较运算支持连写表示范围 x = 0.5
print('x是否在0到1之间:', 0 <= x <= 1)
y =21
print(10 < y < 20)
四、逻辑运算符
逻辑运算符:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
-
and:逻辑与运算
-
应用场景:如果需要两个条件同时满足,就用and来连接这两个条件。相当于生活中的并且。 -
运算规则:条件1 and 条件2。 如果两个条件都是True,结果是True,只要有一个是False结果就是False。
- True and True - True
- True and False - False
- False and True - False
- False and False - False
-
?练习
num = 23
print('num是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
print('num是否能同时被3和7整除:', num % 21 == 0)
-
?练习2
num = 13
print('num是否是大于10的偶数', num > 10 and num % 2 == 0)
-
or:逻辑或运算
-
应用场景:如果需要两个或者多个条件中有一个条件成立就行,就将两个或者多个条件用or连接,相当于生活中的或者。 -
运算规则:条件1 or 条件2。如果两个条件都是False,结果才是False,只要有一个是True,结果就是True。
- True or True - True
- True or False - True
- False or True - True
- False or False - False
-
?练习
num = 234
print('num是否能被3或者4整除', num % 3 == 0 or num % 4 == 0)
-
?练习2
year = 2003
print('year是否是闰年:', (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0))
-
not:逻辑非运算
五、赋值运算符和运算符的优先级
-
赋值运算符:=、 +=、 -=、 *=、 /=、 %=、 //=、 **= 所有的赋值运算符都是用来给变量赋值的,所以所有的赋值运算符的左边必须是变量,右边是能够提供数据的表达式
-
= :变量 = 数据(将指定的数据保存到变量中) -
复合赋值运算符:变量 += 数据(将变量中保存的数据取出来和后面的数据进行加法运算,再将结果重新赋值给前面的变量) 注意:复合的赋值运算符前面的变量必须是已经定义过的变量。 x = 100
x += 10
print(x)
x -= 20
x *= 2
x %= 3
x **= 2
print(x)
🔺**特别注意:**赋值运算表达式没有结果。(打印它会报错) -
运算符优先级:数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
- ** > *、/ 、%、// > +、-
- not > and > or
- 括号先算括号中里面的——( )
六、分支结构
-
流程控制:根据代码执行过程不同,可以将代码的结构分为三种。
- 顺序结构(默认):代码从上往下按顺序依次执行,并且每一条语句只执行一次。
- 分支结构(if):根据条件选择性的执行代码。
- 循环结构(for、while):让代码重复执行。
-
分支机构
-
if 单分支结构 — 如果xx就xx
-
应用场景:满足条件才执行,条件不满足的时候这个操作就不执行 -
语法:
"""
说明:
if - 关键字;固定写法
条件语句 - 可以是任何有结果的表达式
: - 固定写法(注意必须是英文输入法的冒号)
代码段 - 结构上,就是和if保持一个缩进的一条或者多条语句(至少一条);
逻辑上,就是满足条件才会执行的代码
"""
-
执行过程:先判断条件语句是否为True,如果是就执行代码段中的代码,否则就不执行。 age = 19
if age >= 18:
print('成年')
-
if 双分支结构 — 如果xx就xx否则就xx
|