重制版 day 03 变量、运算符、分支
变量的作用:
1)重新赋值
a=10
print(a)
a=100
print(a)
#运行结果 10 100
2)同时定义多个变量
变量名1=变量名=变量名3=数据
x=y=z=100
print(x,y,z)
# 运行结果 100 100 100
同时定义多个变量,赋不同的值
变量名1,变量名2,变量名=数据1,数据2,数据3
m,n=10,20
print(m,n)
# 运行结果 10 20
3)变量保存数据的底层逻辑
定义变量的时候会自动在内存中申请空间保存数据
原理:定义变量的时候会自动申请内存,内存的大小由数据的大小决定;重新赋值时,会重新申请内存
优点:不会溢出,不会浪费,缺点:相比较之下慢
补充:内存的单位
位(bit
1字节(byte)=8位
1kb=1024字节
1Mb=1024kb
1Gb=1024Mb
1Tb=1024Gb
运算符
运算符分为:数学运算符、比较运算符、逻辑运算符、赋值运算符
数学运算符
+、-、*、/、//(整除)、%(取余、取模)、**(幂运算)
1.+、-、*、/、与数学中的计算方式一样,应用场景一样
2.//(整除)
x // y -表示x除以y的商,商向小取整
(商相邻的两个整数中较小的那个)
应用1:希望能整除的情况下,商是整型
应用2:去掉一个整数的低位数,保留高位数(应用场景较多)
print(5 // 2) # 2
print(-5 // 2) # -3
# 应用1
print(4 / 2 ) # 2.0
print(4 // 2) # 2
# 应用2
num =2342
print(num // 10 ) # 234
print(num // 100 ) # 23
3.% --取余,取模
x % y - 求x除以y 的余数
应用1:判断两个数之间的整除关系-判断余数是否为0
应用2: 去掉一个整数的高位数,保留低位数
# 应用1
print(78 % 2 == 0) # True
print(79 % 2 == 0) # False
# 应用2
num = 345678
print(num % 10) # 8
print(num % 100) # 78
注意:/
的结果一定是浮点数;其他运算符的运算结果的类型和运行对象有关
比较运算符
<、>、 == 、!= 、>=、<=
所有的比较运算符的运算结果都是布尔值
逻辑运算符
逻辑运算符:and(逻辑与)、or(逻辑或)、not(逻辑非)
1.and-逻辑与
应用场景:如果需要满足多个条件同时满足,用and
运用规则:条件1 and 条件2 --如果两个条件都成立,结果为True;反之结果为False
2.or-逻辑或
应用场景:如果要求多个条件中只需要满足一个成立就型,用or连接。
运用规则:条件1 or 条件2 -如果两个条件中由一个成立,结果为True;反之结果为False
3.not-逻辑非
应用场景:对指定的条件进行否定(如果一个条件的正向写,情况复杂,反向写简单,可以将条件反向写再加not)
运算规则:not 条件
赋值运算符
=、+=、-=、*=、/=、//=、**=
注意:所有赋值运算都是给变量赋值的,赋值运算符表达式没有结果,没有返回值
赋值运算符的种类:
1.=-直接赋值
变量 = 数据 -将数据保存到变量中,变量既可以是已经定义过的变量,也可以是没有定义的变量
2.复合赋值运算符
变量 += 数据 - 先将变量中的数据取出来,然后进行数据运算,然后把运算结果赋值给变量
注意点:变量必须是已经定义过的数据,数据类型是可以运算的
运算符优先级
1.数学运算符>比较运算符>逻辑运算符>赋值运算符
2.数学运算符里的优先级与数学一样
3.有括号,先算括号里的
分支
分支结构(if)-让程序根据条件执行代码
1)if -关键字;固定写法
2)条件语句 - 可以是任何有结果的表达式(具体的数据,运算表达式,已经定义过的变量等)
一般将结果是布尔的表达式作为条件
3): - 固定写法
4)代码段 - 结构上,就是和if保持一个缩进的一条或者多条语句
逻辑上,满足条件才会执行代码
执行过程:先判断条件语句是否成立(如果条件语句的结果不是布尔,就转换成布尔),如果成立就执行代码
if单分支结构 -
语法:
if 条件语句:
代码段
if双分支结构-
语法:
if 条件语句:
代码段
else:
代码段
if多分支结构
# 判断年份是否是闰年
year = 2000
if (year % 4==0 and year % 100 !=0)or (year %400==0):
print('该年份是闰年')
else:
print('该年份不是闰年')
# 运行结果 该年份是闰年
句:
代码段
else:
代码段
if多分支结构
# 判断年份是否是闰年
year = 2000
if (year % 4==0 and year % 100 !=0)or (year %400==0):
print('该年份是闰年')
else:
print('该年份不是闰年')
# 运行结果 该年份是闰年