学习总结 2022-4-13
一、变量和运算符
1.变量的作用,提高修改数据的效率,如多次打印或零时修改数据。
message = '默默的在背后望着你的背影,当你危险时,我会毫不犹豫的从天而降。哪怕双腿以被大地震的生疼,我一样会咬紧牙关,再次跳向对手,抛出手中的战矛。哪怕身死我也要你活着……'
print(message)
print(message)
print(message)
print(message)
print(message)
2.什么是变量:变量是用来保存数据的
语法:变量名 = 数据
说明:
①.变量名 - 由程序员自己命名
要求:是标识符不是关键字
规范:见名知义(看见变量名就大概知道变量中保存的数据);
不使用系统的函数名、类名和模块名;
所有的字母都小写,多个单词之间用下换线‘_'隔开,也可以使用驼峰式命名
②. = - 赋值符号;固定写法
③. 数据 - 可以使任何有结果的表达式,如:具体的某个类型的数据、有结果的预算表达式、已经赋值过的变量
注意1:如果使用系统的函数名、类名给变量命名,会导致他们本身的功能消失
print = 100 # print函数无法使用
int = 20 # int做类型转换无法使用
dog_name = '孙笑川' # Python命名规范
print(dog_name)
dogName = '李赣' # 驼峰式命名
print(dogName)
a = 22
b = 'abc'
c = 10+20 # 有计算结果的变量
d = a # 已经赋值过的变量
# 3. 使用变量
# 使用变量就是使变量中保存的数据
x = 100
y = 200
print(x,y)
print(x + 10)
3. 使用变量
使用变量就是使变量中保存的数据
x = 100
y = 200
print(x,y)
print(x + 10)
4. 重新给变量赋值
重新赋值后使用的是最新的值
xx = 100
print(xx)
xx = 200 # 重新赋值为200
xx = ‘qwer’ # 重新赋值的时候可以赋不同类型的值
验证重新赋值结果
print(xx) # 结果为qwer
5. 同时定义多个变量
5.1 同时定义多个变量赋相同的值:变量名1 = 变量名2 = 变量名3 … = 数据
x1 = x2 = x3 = 1000
print(x1,x2,x3) # 结果为1000 1000 1000
5.2 同时定义多个变量赋不同的值:变量名1,变量名2,变量名3,… = 数据1, 数据2,数据3,…
y1,y2,y3 = 10,20,30
print(y3) # 结果为30
应用:交换变量的值
方法一:
m = 10
n = 20
t = m
m = n
n = t
print(m,n) # 结果为m=20 n=10
方法二:
m = 5
n = 10
m,n = n,m
print(m,n) # 结果为m=10 n=5
二、定义变量和重新给变量赋值的底层原理
1. python定义变量不需要写类型 - python定义变量申请内存的时候,内存申请多大看数据需求多大,不看类型。
a = 10
2. 重新复制的时候为什么可以赋不同类型的值 - 重新赋值的时候会重新申请新的内存
b = 20
b = 'abc'
b = [10,20,30]
3. 为什么python可以直接计算9999**9999 - 申请内存的时候会提前计算储存不看数据类型,看数据需求,需要多大就申请多大
a = 9999**9999
print(a)
补充1:获取内存地址的工具 - id(变量)
x = 100
print(id(x)) #140733641593616
x = 2000
print(id(x)) #1796937378128
补充2:计算机内存单位
位(bit)
1字节(bytes) = 8位
1Kb = 1024字节
1Mb = 1024kb
1Gb = 1024Kb
1T = 1024Gb
三、数学运算符
1. 种类:数学运算符:+(加)、-(减),*(乘号)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
1.1 运算规则:+(加)、-(减),*(乘号)、/(除)的功能和数学中的+、-、x、÷的功能一样
注意事项:① +、-、*、操作,如果操作的数据中有浮点数结果就是浮点,都是整数结果就是整数
② / 的结果一定是浮点数
print(5 + 2) # 7
print(5 - 2) # 3
print(5 * 2) # 10
print(5 / 2) # 2.5
print(4 / 2) # 2.0
2. % - 取余、取模(求余数)
x % y - 求x除以y的余数
print(10 % 3) # 结果为1
print(15 % 4) # 结果为3
2.1 应用场景一:判断整除关系(判断一个数是否能被另外一个数整除) - 如果两个数存在整除关系,那么他们的余数为0
num = 312321
print(num % 2) # 1
2.2 应用场景二:去整数的低位数 - 对10或者10的N次幂取余
num = 321565
print(num % 10) # 5
print(num % 100) # 65
被除数 = 除数 x 商 + 余数 -> 余数 = 被除数 - 除数 x 商
print(10 // 3,10 & 3)
print(-10 % 3)
3. // - 整除
3.1 x // y - 求x除以y的商,商向小取整
print(123 // 2) # 61
print(-123 // 2) # -62
# 应用场景1:(再知道两个数能整除的情况下)获取整型的商
nums = [12,13,414,55,13,2133]
print(nums[len(nums) // 2])
print(8 / 2)
print(8 // 2)
# 应用场景2:整数的去掉低位数,保留高位数 - 对10或者10的N次幂进行整除操作
num = 324
# 321 -> 32
print(num // 10) # 32
# 324 -> 3
print(num // 100) # 3
4.幂运算
4.1 x**y - 求x的y次方,y的值与数学中相同
print(5 ** 3) # 125
print(5 ** (3/4)) # 3.34370152488211
print(5 ** -2) # 0.04
print(int(5 ** 0.75))
四、比较运算符
1.比较运算符:>(大于)、<(小于)、==(等于)、>=(大于等于) 、 <=(小于等于)、!=(不等于)
1.1 所有的比较运算符的运算结果都是布尔
print(12 > 50) # False
print(114 < 514) # True
print(10 == 10) # True
1.2 判断一个数是否被另一个数整除
num = 25
print(num % 3 == 0) # False
1.3 判断num是否是浮点数
num = 2.1231
print(type(num) == float) # True
1.4 判断是否成年
age = 23
print('是否成年:',age >= 18 )
# 是否成年: True
2.python的比较运算符支持连写表示范围
判断num是否在0到1的范围内
num = 1
print(0 <= num <= 1)
# True
五、逻辑运算符
逻辑运算符:and(逻辑和运算)、or(逻辑或运算)、not(逻辑非运算)
1. and - 逻辑和运算
1.1 应用场景:用于连接要求同时满足的多个条件,相当于生活中的并且
1.2 运算规则:条件1 and 条件2 - 两个条件都是True结果就是True,只要有一个False结果就是False
True and True -> True
True and False -> False
False and True -> False
False and False -> False
# 获取奖学金的条件:绩点不低于3.5,并且操评分大于90
gpa = 3.5
score = 20
print('是否能获取奖学金',gpa >= 3.5 and score > 90)
# gpa = float(input('绩点='))
# score = int(input('操评分='))
# bool(print('是否能获取奖学金',gpa >= 3.5 and score > 90))
2. or - 逻辑或运算
2.1 应用场景:如果两个或者多个条件中主要有一个满足就行,就用or来对这些条件进行连接,相当于生活中的或者
2.2 运算规则:条件1 or 条件2 - 只要其中一个True结果就是True,两个都是False结果才是False
True and True -> True
True and False -> True
False and True -> True
False and False -> False
num = 30
print('num是否能够同时被3或者7整除', num % 3 == 0 or num % 7 == 0 )
# True
3. not - 逻辑非运算
3.1 如果一个条件正向写情况很多很复杂,反向写却很简单的时候,我们就将条件反向写,再加not
3.2 运算规则:not 条件 - 对指定条件进行否定
not True -> False
not False -> True
print(age >= 18)
# 年龄不大于18
print(not age >= 18)
# num能被3整除
num = 23
print(num % 3 == 0)
print(not num % 3 != 0)
六、赋值运算符
赋值运算符:=、+=、-=、/=、%=、//=、**=
注意1:所有的赋值运算符的作用都是讲某个数据保存到某个变量中
注意2:所有的赋值运算不产生结果
1. =
1.1 变量 = 数据 - 将右边的数据保存到左边的变量中
a = 10
2. +=、-=、/=、%=、//=、**=
2.1 变量 += 数据 - 将变量保存的数据和后面的数据进行加法运算,然后将运算结果再赋值给变量
2.2 注意:这里的变量必须是已经赋值过的变量
# b += 10 #报错
c = 10
c += 20 #相当于c = c + 20 -> 10 + 20 -> c = 30
print(c)
3. 运算符优先级
3.1 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
3.2 数学运算符:** > * 、/ 、% 、// > + 、 -
3.3 有括号先算括号里面的
DAY2作业
day2 Python编程⼊入⻔门作业
选择题
- 下列哪个语句在Python中是非法的?(B)
A. x = y = z = 1
B. x = (y = z + 1)
C. x, y = y, x
D. x = y - 关于Python变量,下列列说法错误的是 (A)
A. 变量无须指定类型
B. 变量可以重新赋值
C. 变量⽆须先创建和赋值⽽直接使⽤
D. 同一个变量可以保存不同类型的值 - 下⾯哪个不是Python合法的标识符(B)
A. int64
B. 40XL
C. self
D. stu_name - 下列关于Python语⾔说法错误的是(C)
A. Python是解释型语言
B. Python是⾯向对象语⾔
C. Python2.x和Python3.x是完全兼容的
D. 普通的⽂本编辑器也可以写Python程序 - 下列关于print函数用法错误的是(D)
A. print(100)
B. print(100, 200)
C. print(100, ‘hello world!’)
D. print(10 20)
填空题
- Python中单行注释的符号是( # ), 多⾏注释的符号是(三个单引号或双引号 )。
- 语句a, b=10,20执⾏后,a的值是( 10);语句a, a = 10, 20 执⾏后,a的值是( 20 )。
- Python程序文件扩展名是( .py )。
- 在Python中,int表示的数据类型是( 整型 )。
- 在Python中,字符串数据需要⽤( ‘ ’ )或( ” “)包裹。
- 在Python中,布尔类型有( 2)个值,分别是( True 、 False )。
- 如果想要查看⼀个数据或者变量的数据类型,可以用( type )函数。
编程题
-
写程序提示⽤户输入⽤户名和密码,并且将输⼊的内容保存到不同的变量中。
account = str(input("请输入用户名:")) print('请输入用户名:') key =(str("请输入密码:")) print('请输入密码:' ) # 请输入用户名: # 请输入密码:
-
使⽤一个print输出3个数据,3个数据在⼀行显示,并且用等号(=)隔开。
print(a,b,c,sep ='=' ) #a=b=c
简答题
-
声明变量的时候, 变量名的注意事项有哪些?
答:不使用系统的函数名、类名和模块名;所有的字母都小写,多个单词之间用下换线‘_'隔开;,
-
请写出Python语言有哪些优点。
答:变量不需要申请存储空间,灵活;可随意更改变量数据类型;简单;易维护。
-
请写出Python常⻅的应用领域。
答:数据收集、软件开发、爬虫开发、游戏开发
-
写出你对今日授课内容中有疑问的地方(或者觉得有困难的知识点)。
答:暂时没有
day3作业
选择题
-
print(100 - 25 * 3 % 4)
应该输出什么? (B)A. 1
B. 97
C. 25
D. 0
-
Python不支持的数据类型有(A)。
A. char
B. int
C. float
D. list
-
(多选)n = 6784,以下能够获取到7 的方法有(C、D)。
A. n / 1000 % 100
B. n % 1000 / 100
C. n // 100 % 10
D. n // 10 % 100 // 10
-
运行以下程序,当从键盘上输入12,运行结果是(A)。
x = (input()) print(type(x))
A.
<class 'str'>
B.
<class 'int'>
C.
出错
D.
class 'dict'
-
下列表达式的运算结果是( D ) 。
a = 100 b = False print(a * b > -1)
A.
False
B.
1
C.
0
D.
True
填空题
-
在Python中表示空类型的是(None)。
-
查看变量中数据的类型的函数名是(type)。
-
已知
x = 3 == 3
,执行结束后,变量x的值为(True)。 -
已知
x = 3
,那么执行语句x += 6
之后,x的值为(9)。 -
表达式
3 ** 2
的值为(9),表达式3 * 2
的值为(6),表达式4 ** 0.5
的值为(2.0)。
编程题
-
写出判断一个数是否能同时被3和7整除的条件语句, 并且打印对应的结果。
例如:输入 21 打印 True, 输入 9 打印 False。 num = int(input('请输入一个数:')) print('请输入一个数:', num % 3 == 0 and num % 7 == 0) #请输入一个数:21 请输入一个数: True #请输入一个数:9 请输入一个数: False
-
写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除的条件语句, 并且打印对应的结果。
例如:输入 14 打印 True, 输入 4 打印 False, 输入 21 打印 False。 num = int(input('请输入一个数:')) print(('请输入一个数:', num % 3 == 0 or num % 7 == 0 ) and num % 21 != 0 ) #请输入一个数:14 请输入一个数: True #请输入一个数:21 请输入一个数: False
-
输入年,写代码判断输入的年是否是闰年,并且打印对应的结果 。(是闰年的条件: 能被4整除但是不能被100整除或者能够被400整除的年)
例如:输入 2020 打印 True, 输入 2011 打印 False year = int(input('请输入年份判断是否是闰年:')) print('请输入年份判断是否是闰年',(year % 4 == 0 and year % 100 != 0) or year % 400 == 0 ) # Ture year = 2011 # False
-
假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX时XX分XX秒’的方式表示出来。
例如: 时间 67 秒 —> 0 时 1 分 7 秒 sec = 15678 hour = (sec // 60 ** 2) sec = sec - hour * 3600 min = (sec // 60) sec = sec - min * 60 sec = sec print(hour,end = '时') print(min,end='分') print(sec,end='秒')
-
定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!
公式:
体重(kg)/身高(m)的平方值
在18.5 ~ 24.9之间属于正常。例如: 输入体重: 55, 输入身高:1.55, 输出: True weight = float(input('请输入体重:')) height = float(input('请输入身高:')) print(18.5 < weight / height ** 2 < 24.9 ) #请输入体重:55 请输入身高:1.55 True
简答题
-
Python内置数据类型有哪些?
int float bool str list
-
写出你对今⽇日授课内容中有疑问的地⽅方(或者觉得有困难的知识点)。
暂时没有