4-13 python学习总结
一、变量
1. 认识变量和定义变量
变量定义:
用来存储数据的(在程序中使用数据时不是直接使用,而是先用变量把数据存储起来,然后通过调用变量来使用。
2语法:变量=数据
说明
a 变量名 -由程序员自己命名
要求:是标识符,不能是关键字
规范:1见名知义(看到变量名就大体知道变量表示的意义
2不使用系统的函数名、类名和模块名
3所有的字母的小写,多个单词之间用下划线隔开(也可以使用驼 峰式命名
zhang_age=20 #PEP命名规范
zhangAge=20 #驼峰式命名
b = -赋值符号
c 数据 可以是任何有结果的表达式 例如:具体某个数据的类型,有结果的 运算表达式、已经赋值的变量
3 使用变量
使用变量就是使用变量中保存的数据
4 重新给变量赋值
x=100
y=200+300
z=y
print(x,y,z)
5同时定义多个变量
1)同时定义多个变量赋相同的值:变量名1=变量名2=…=数据
x1=x2=x3=100
print(x1,x2,x3)
2)同时定义多个变量赋不同的值:变量名1,变量名2,变量名3,…=数据1,数据2,数据3,…
y1,y2,y3=10,20,30
print(y1,y2,y3)
应用:交换变量的值
方法一:
m=10
n=20
t=m
m=n
n=t
print(m,n)
方法二:
m=200
n=100
m,n=n,m
print(m,n)
运行程序时保存的数据都保存在运行内存里
拓展
1. python定义变量不需要写类型
定义变量时
C语言定义变量,开辟存储内存看定义的数据类型
python定义变量,开辟存储内存是根据数据大小而定的(优点:不会数据溢出,节省内存 缺点:运行效率较低
2.重新赋值的时候为什么可以赋不同类型的值
C和java重新赋值时候变量类型不能变只变数据值
python重新赋值时会重新申请新的内存空间
3.为什么python可以直接计算 9999*9999这样大数据
python申请内存的时候会先提前计算存储的数据需要多大的内存,重新申请新的内存空间
4.C、JAVA 保存数据内存地址是不变的,python保存数据内存地址是变化的
补充:1 获取内存地址的工具:id(变量)
2计算机内存单位
位(bit)
1字节=8位
1 kb=1024 字节
1 Mb=1024 kb
1 Gb=1024 mb
1 T=1024 Gb
二 运算符
1 运算符的分类
运算符分类:数学运算符、关系运算符、逻辑运算符、赋值运算符
2 运算符的具体运用
1数学运算符:+、-、*、/、%(取余或取模)、//(整除)、**(幂运算)
1)+、-、*、/的功能和数学中的功能一样
注意:+、-、*操作,如果操作的数据有浮点数,结果就是浮点数,都是整数结果就是整数,/运算的结果一定是浮点数
2)%-取余、取模(求余数)
x%y -求x除以y的余数(计算机整除是向小取整
print(10%3) #1
print(15%4) #3
应用场景 1:判断整除关系-看一个数余数是否为0
num=214
print(num%2)
2:取整数的低位数(对10或者10的n次幂取余)
num=321
print(num%10) #1
print(num%100) #21
print(-10%3) #2
整除// -整除
x//y - 求x除以y的商,商向小取整
print(132//10) #13
print(132%10) #2
print(-132//10) #-14
print(-132%10) #8
应用场景1:快速获取整形的商(在知道2个数能整除的情况下)
mum=[28,29,23,30,45,67,39,20]
print(num[len(num)//2]) #45
2: 整数去掉低位数,保留高位数-对10或者10的N次幂进行整除操作
获取一个输入值num的十位数
num=int(input('请输入一个整数')) #输入134
print(num//10%10) #3
print(num%100//10) #3
3)** -幂运算
x**y -求x的y次方(y可以是负数、分数)
print(10**3) #1000
2. 比较运算符
包括:>(大于) 、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)、!=(不等于)
说明:所有的比较运算符的运算结果都是布尔
print(10>20) #False
num=23
print(num%4==0) #False 判断23是否能被4整除
num=2.34
print(type(num)==float) #True
age=24
print('是否成年:',age>=18) #是否成年:True
python的比较运算符支持连写表示范围
num=2
print(0 <= num <= 1) #判断num是否在0-1范围内
print(num >= 0 and num <= 1)
4. 逻辑运算符 and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
作用:连接条件的
1)and - 逻辑与运算
应用场景:用于连接要求同时满足的多个条件,相当于生活中的并且
运算规则:条件1 and 条件2 (2个条件都是Ture,结果就是True,只要有一个条件是False,结果就是False)
True and True -True
True and False -False
False and True -False
False and False -False
#判断num是否能够同时被3和7整除
num=int(input('请输入一个数值'))
print('num是否同时能被3和7整除:’,num%3==0 and num %7 == 0)
#输入14 False
2)or - 逻辑或运算
1)应用场景:如果两个或则多个条件中主要有一个满足就行,就用or来对这些条件进行连接,相当于生活中的或者
True and True -True
True or True -True
True or False -True
False or True -True
False or False -False
num=123
print('是否能同时被3或者7整除:',num%3==0 or num%7==0)
year=int(input('请输入一个年份'))
print('输入的年份是否为闰年:',(year%4==0 and year%100!=0) or (year%400==0)
3)not 逻辑非运算
运算规则:not 条件 - 对指定条件进行否定
not True - False
not False - True
num=23
print(not num%=3==0,)
应用场景:
如果一个条件正向写情况很复杂,反向写却很简单的时候,我们就将条件反向写
#判断num是否不能同时被3和7整除
#方法1 正向写条件
#不能同时被3和7整除:
#能被3整除不能被7整除:num%3==0 and num%7!=0
#能被7整除但是不能被3整除:num%7==0 and num%3!=0
#既不能被3整除也不能被7整除num%3!=0 and num%7!=0
print((num%3==0 and num%7!=)or(num%7==0 and num%3!=0)or(num%3!=0 and num%7!=0)
#方法2 反向写条件
print(not num % 21==0)
4. 赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
1)=
变量=数据 - 将右边的数据保存到左边的变量中
a=10
2)+=、-=、*=、/=、%=、//=、**=
变量+=数据 - 将变量中保存的数据和+=后面的数据进行加法运算,然后将运算结果在赋值给变量中
要求:这里的变量必须时已经赋值的变量
b+=10 #报错
c=10 #相当于 c=c+2
c+=2 #12
a=10
a%=3 #1
注 :赋值运算不能产生一个结果,不能提供一个数据
print(a=10) #报错
运算符的优先级
1数学运算符>比较运算符>逻辑运算符>赋值运算符(最低)
2数学运算符: ** > *、 /、 % 、// > + 、-
作业
day2 Python编程⼊入⻔门作业
选择题
- 下列哪个语句在Python中是非法的?(b)
A. x = y = z = 1
B. x = (y = z + 1)
C. x, y = y, x
D. x = y - 关于Python变量,下列列说法错误的是 (c)
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 )函数。
编程题
-
写程序提示⽤户输入⽤户名和密码,并且将输⼊的内容保存到不同的变量中。
users=input('请输入你的用户名') password=input('请输入你的密码') print('你的用户名为',users,'你的密码为:',password)
-
使⽤一个print输出3个数据,3个数据在⼀行显示,并且用等号(=)隔开。
print(13,'xy','30+20',sep='=')
简答题
-
声明变量的时候, 变量名的注意事项有哪些?
1变量名是标识符不是关键字,一般用小写字母,多个单词连接时用_隔开
2变量名需要见名知义
3变量名不能用系统的函数名、类名、模块名,以免导致后续相关功能不能用
-
请写出Python语言有哪些优点。
1命名变量时Python会根据数据类型自行开辟内存空间,不用定义数据类型
2重命名时Python会重新申请内存,一个变量可以重新定义不同类型的数据
3在每次计算前,Python会计算数据大小,重新申请内存,节约内存资源,不必考虑数据大小
-
请写出Python常⻅的应用领域。
1大数据
2数据分析
3爬虫
4人工智能
5软件开发
-
写出你对今日授课内容中有疑问的地方(或者觉得有困难的知识点)。
day3 数据类型和运算符作业
选择题
-
print(100 - 25 * 3 % 4)
应该输出什么? (b)A. 1
B. 97
C. 25
D. 0
-
Python不支持的数据类型有(d)。
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=21 print(num%3==0 and num%7==0)
-
写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除的条件语句, 并且打印对应的结果。
例如:输入 14 打印 True, 输入 4 打印 False, 输入 21 打印 False。 num=14 print(num%3==0 or num%7==0 and (not num%21==0))
-
输入年,写代码判断输入的年是否是闰年,并且打印对应的结果 。(是闰年的条件: 能被4整除但是不能被100整除或者能够被400整除的年)
例如:输入 2020 打印 True, 输入 2011 打印 False year=int(input('请输入一个年份整数')) print((year%4==0 and year%100!=0) or ( year%400==0))
-
假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX时XX分XX秒’的方式表示出来。
例如: 时间 67 秒 —> 0 时 1 分 7 秒 time=15678 time_h=time//60//24 time_m=time//60%24 time_s=time%60 print(time_h,'时',time_m,'分',time_s,'秒')
-
定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!
公式:
体重(kg)/身高(m)的平方值
在18.5 ~ 24.9之间属于正常。例如: 输入体重: 55, 输入身高:1.55, 输出: True high=1.55 weight=55 print('你的身材是否正常',18.5<high/weight<24.9)
简答题
-
Python内置数据类型有哪些?
数值型(整形和浮点型),文本型,布尔型,None
-
写出你对今⽇日授课内容中有疑问的地⽅方(或者觉得有困难的知识点)。