day3总结
1.变量
1.1 程序中使用数据的两种方法
- 直接使用数据。
- 先将数据保存到变量中,然后再通过使用变量来使用数据(推荐使用)
1.2 定义变量/创建变量 - 将数据保存到变量
1.2.1 语法:
变量名 = 数据
1.2.2 说明:
-
''' 变量名 - 程序员自己命名 要求:标识符,不是关键字 规范:a.见名知义(看到变量名就大概知道变量中保存的是什么数据) b.不使用系统函数名(比如:print、input、type)、类名和模块名 c.所有字母都小写,多个单词之间用下划线隔开(PE8) '''
1.2.3 使用变量 - 使用变量中保存的数据
- 使用变量就是来使用变量中保存的数据,所以数据能做的事情,保存数据的变量都可以做。
- 注意,变量必须先定义再使用
num = 100
print(100)
print(num)
print(100+100)
print(num+100)
print(type(100))
print(type(num))
x = num
print(x)
1.2.4 同时定义多个变量
-
变量名1 = 变量名2 = 变量名3 = … = 数据 - 同时定义多个变量赋相同的值.
a1 = b1 = c1 = 100 print(a1,b1,c1)
-
变量名1,变量名2,变量名3,… = 数据1,数据2,数据3,… - 同时定义多个变量赋不同的值(变量的数据必须和数据的数量一致)
# 案例:交换两个变量的值 m = 200 n = 201 m,n = n ,m print(m,n)
2.变量的底层逻辑(了解)
2.1 python变量存储数据和重新赋值的底层
-
# python定义变量的时候会先申请内存,内存申请大小看数据的大小,申请完内存后将数据保存在内存中,然后再将变量和对应的内存进行关联; # 重新给变量赋值的时候,会根据新的值重新申请新的内存,然后将新的数据保存到新的内存中,最后将变量和新的内存进行关联。 # id 函数 - 获取变量对应内存地址 a = 10 print(id(a)) a = 100 print(id(a))
3.数学运算符
- 所有的数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
3.1 +、-、*、/
-
+、-、*、/和数学中的+、-、×、÷的功能一样
print(10 + 20) # 30 print(10 - 20) # -10 print(10 * 20) # 200 print(10 / 20) # 0.5
-
如果运算对象中有一个是浮点数,那么结果一定是浮点数(应用于所有数学运算符)
print(10.0 + 20) # 30.0
-
除法(/)运算结果一定是浮点数
print(20 / 10) # 2.0
3.2 %(取余、取模) - 求余数
-
# x % y - 求x除以y的余数 print(10 % 3) # 求10除以3的余数 print(20 % 3) # 求20除以3的余数
-
# 应用场景1:判断一个数是否能够被另一个数整除 - 判断这两个数的余数是否为0 num1 = 23 num2 = 11 print(num1 % num2)
-
# 应用场景2:取整数的低位数 - 对10的N次方取余,就可以获取这个数的后N位 num = 8238846 print(num % 10)
3.3 //(整除) - 求商,商向小取整
-
# x // y - 求x除以y的商,商向小取整的结果 print(5 // 3) # 2 print(3.8 // 2) # 1 print(99 // 4) # 24
-
# 应用场景1:求一个数中有多少个完整的另一个数 # 例如:求num中有多少个的8 num = 79 print(num // 8) # 9
-
# 应用场景2:去掉整数的低位数,保留高位数 - 整除10或者10的N次方 print(8293 // 10) # 829 print(82 // 10) # 8
3.4 **(幂运算)
# x ** y - 求x的y次方
print(3 ** 4) # 81
print(2 ** 5) # 32
print(4 ** -2) #0,0625
4.比较运算符
4.1 比较运算符:>(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)
-
所有比较运算符的运算结果都是布尔值
print(100 > 200 ) # False print(100 == 100) # True
-
python中的比较运算符支持连写表示范围
# 判断分数是否大于等于70,小于90 print('是否是中等成绩:',70 <= score <= 90)
5.逻辑运算符
- 逻辑运算符:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
5.1 and(逻辑与运算)
'''
1)应用场景:用来连接要求同时成立的两个条件,相当于生活中的’并且‘
2)运算规则:条件1 and 条件2 - 如果两个条件同时成立结果就是True,只要有一个条件不成立结果就是Fales
True and True - True
True and False - False
False and True - False
False and False - False
'''
# 案例:判断num是否能被3和8整除
num = 78
# 是否能被3整除:num % 3 == 0
# 是否能被8整除:num % 8 == 0
print('num是否能同时被3和8整除',num % 3 == 0 and num % 8 == 0)
5.2 or(逻辑或运算)
'''
1)应用场景:如果要求俩个或者多个条件有一个条件成立,用or连接,相当于生活中的’或者‘
2)运算规则:条件1 or 条件2 - 只要有一个条件成立,结果都为True;俩个条件都不成立结果是False
True and True - True
True and False - True
False and True - True
False and False - False
'''
# 练习2:判断指定的年是否是闰年
# 闰年:闰年分为普通闰年(能被4整除但是不能被100整除的年)和世纪闰年(能被400整除的年)两种
year = 2008
print('否是闰年:',(year % 4 == 0 and year % 100 != 0) or year % 400 == 0 )
5.3 not(逻辑非运算)
"""
1)应用场景:对条件进行否定
2)运算规则:not 条件 - 对指定条件进行否定
not True - False
not False - True
"""
# 案例:判断age是否不大于18
age = 28
print(not age > 18)
print( age <= 18)
6.赋值运算
- 赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
- 注意:
- a.所有的赋值运算符最终的功能都是完成对变量的赋值操作(将数据保存到变量中)
- b.所有的赋值运算都没有结果,无法提供数据
6.1 = - 普通的赋值运算
- 变量名 = 数据 - 将数据直接保存到变量中
6.2 +=
# 变量名 += 数据 - 先将变量中保存的数据取出来,和后面的数据进行加法运算,然后将运算结果重新赋值给前面的变量
# 注意:复合的赋值运算符前面的变量必须是已经赋值过的变量
num = 10
num += 2
print(num)
num -= 3
print(num)
num *= 2
print(num)
num %= 3
print(num)
7.运算符逻辑
- 所有的数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
- ** >*、/、%、// >+、-
- and > or
- 有括号先算括号里的