《Python程序设计》期末复习完全手册(直接使用版)_第1页
《Python程序设计》期末复习完全手册(直接使用版)_第2页
《Python程序设计》期末复习完全手册(直接使用版)_第3页
《Python程序设计》期末复习完全手册(直接使用版)_第4页
《Python程序设计》期末复习完全手册(直接使用版)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《Python程序设计》期末复习完全手册(直接使用版)第一部分:考试题型与分值分布(通用)题型题量分值主要考查范围策略选择题20-25题20-30分Python语法、数据类型操作、控制结构、函数概念、面向对象基础辨析概念,牢记方法和关键字填空题10-15题10-15分程序完善、关键字、常用函数、列表字典方法根据上下文填入正确的关键字或方法名程序阅读题3-5题15-20分循环执行、字符串/列表操作、函数调用、面向对象输出逐行模拟,记录变量变化程序填空题2-3题10-15分列表推导式、文件读写、异常处理、函数定义注意冒号、缩进和逻辑编程题2-3题20-30分简单算法实现、文件处理、类的设计、数据分析先写框架再细化,注意边界条件和输入输出格式第二部分:Python语言基础速查2.1Python程序特点解释型语言:无需编译,逐行解释执行。扩展名:.py大小写敏感,缩进表示代码块(一般4个空格)。注释:单行#,多行'''...'''或"""..."""。一行可写多条语句用分号分隔(不推荐),一条语句可多行用反斜杠\或括号内直接换行。2.2标识符与关键字标识符:字母、数字、下划线组成,不能数字开头,区分大小写。常用关键字:if,else,elif,for,while,break,continue,def,class,import,from,return,try,except,finally,with,as,True,False,None,and,or,not,in,is,lambda等。2.3变量与基本输入输出x=10#动态类型,无需声明

print(x)#输出,默认换行

print(a,b,sep='')#多个输出用sep指定分隔符

print('Hello',end='')#不换行

name=input("请输入:")#返回字符串

age=int(input("年龄:"))#类型转换第三部分:数据类型速查3.1基本数据类型类型示例说明整型(int)10,-5,0b101,0o12,0xA无限精度浮点型(float)3.14,2e-3小数复数(complex)1+2j实部+虚部布尔(bool)True,False首字母大写,可参与算术(True=1,False=0)字符串(str)'hello',"world"不可变序列,支持索引和切片列表(list)[1,2,3]可变序列,可嵌套元组(tuple)(1,2,3)不可变序列字典(dict){'a':1,'b':2}键值对,键唯一不可变集合(set){1,2,3}元素唯一无序,可变,不支持索引NoneTypeNone表示空值3.2运算符优先级(从高到低常考)优先级运算符描述1**幂运算2+x,-x,~x正负号,按位取反3*,/,//,%乘,除,整除,取余4+,-加,减5<<,>>移位6&按位与7^按位异或8|按位或9in,notin,is,isnot,<,<=,>,>=,!=,==比较、成员、身份10not逻辑非11and逻辑与12or逻辑或13if-else条件表达式14=,+=,-=等赋值易错点:==比较值,is比较对象地址;and和or具有短路效应;//是整除,向下取整(负数时注意)。第四部分:序列与字符串操作(重点)4.1通用序列操作适用于列表、元组、字符串等。操作说明示例s[i]索引,从0开始"abc"[1]→'b's[i:j]切片,含i不含jHYPERLINK1,2,3→[1,2]s[i:j:k]带步长切片"python"[::-1]→'nohtyp'len(s)长度xins/xnotins成员检查+*连接和重复[1,2]*2→[1,2,1,2]4.2列表常用方法方法说明append(x)尾部添加元素extend(iterable)扩展列表insert(i,x)在索引i前插入remove(x)删除第一个值为x的元素pop([i])删除并返回索引i元素,默认最后一个index(x)返回第一个值为x的索引sort(key=None,reverse=False)原地排序reverse()原地反转copy()浅复制4.3元组元组不可变,没有上述修改方法。单元素元组需逗号:(1,)4.4字符串常用方法方法说明示例upper()/lower()全大写/小写strip()去除首尾空白split(sep)分割"a,b".split(',')→['a','b']join(iterable)拼接','.join(['a','b'])→"a,b"replace(old,new)替换find(sub)查找子串,不存在返回-1startswith(prefix)/endswith(suffix)判断前后缀isdigit()/isalpha()判断数字/字母格式化f"{x:.2f}"或format()4.5字典常用方法方法说明d[key]获取值,键不存在报错d.get(key,default)获取值,不存在返回默认值d.keys()/d.values()/d.items()返回视图d.update(d2)更新字典d.pop(key)删除键并返回值d.setdefault(key,default)若键存在返回值,否则设置默认并返回4.6集合操作操作说明add(x)添加元素remove(x)删除,不存在报错discard(x)删除,不存在不报错union(s)或|并集intersection(s)或&交集difference(s)或-差集4.7列表推导式[表达式for变量in可迭代对象if条件]

#例:[x**2forxinrange(10)ifx%2==0]第五部分:控制结构速查5.1条件语句if条件:

语句块

elif条件2:

语句块

else:

语句块5.2循环语句while条件:

循环体

else:#循环正常结束(未遇break)执行

语句

for变量in可迭代对象:

循环体

else:

语句break:跳出循环。continue:跳过本次循环剩余部分。pass:占位语句,什么都不做。第六部分:函数速查6.1函数定义与调用def函数名(参数列表):

"""文档字符串"""

函数体

return返回值#可省略,返回None参数:位置参数、默认参数(默认参数必须在非默认后面)、关键字参数、可变参数(*args元组)、关键字可变参数(**kwargs字典)。参数的传递:不可变对象(如int,str)是值传递,可变对象(如list)是引用传递。6.2变量的作用域局部变量:函数内定义,函数外无法访问。全局变量:函数外定义,在函数内需用global关键字声明才能修改。nonlocal:在内嵌函数中修改外层非全局变量。6.3lambda表达式lambda参数:表达式

#例:f=lambdax,y:x+y6.4递归函数调用自身,必须有递归出口。第七部分:面向对象速查7.1类与对象class类名:

class_var=0#类变量

def__init__(self,参数):#构造方法

self.实例变量=参数

def方法(self,参数):

passself代表实例本身,必须作为第一个参数。类变量所有对象共享,实例变量每个对象独立。7.2继承与多态class子类(父类):

def__init__(self,参数):

super().__init__(参数)#调用父类构造方法重写:子类定义同名方法覆盖父类。多态:同一方法根据对象类型表现出不同行为。7.3私有成员名称前加双下划线__表示私有,无法在类外直接访问(名称改写)。7.4魔术方法__str__(self)用于print()输出;__len__等。第八部分:文件操作与异常处理8.1文件读写withopen('文件名','模式',encoding='utf-8')asf:

content=f.read()#读全部

line=f.readline()#读一行

lines=f.readlines()#读所有行列表

f.write('字符串')模式:'r'读,'w'写覆盖,'a'追加,'b'二进制。8.2异常处理try:

#可能出错的代码

except异常类型ase:

#处理异常

except(类型1,类型2):

#处理多个异常

else:

#无异常时执行

finally:

#无论是否异常都执行raise抛出异常。第九部分:常用模块速查模块常用功能mathsqrt,pow,sin,cos,pi,e,ceil,floorrandomrandom(),randint(a,b),choice(seq),shuffle(list)datetimedatetime.now(),timedelta,strftime,strptimeosgetcwd(),listdir(),path.exists(),remove()sysargv,exit()re正则表达式:search,findall,sub第十部分:高频选择题题库(40题)模块一:语法与数据类型题号题目选项A选项B选项C选项D答案1Python中单行注释符号是///*#--C2下列合法的变量名是2varvar-name_varvarnameC3print(type(3.14))输出intfloatstrdoubleB4表达式10/3结果是33.3333...10B5表达式10//3结果是3.03.333...34C6将字符串转为整数的函数是str()int()float()ord()B7以下不是Python关键字的是ifelsedowhileC8x=5;x+=3后x的值是53853C模块二:序列与字符串题号题目选项A选项B选项C选项D答案9"hello"[1:3]结果是"hel""el""ell""h"B10列表a=[1,2]执行a.append(3)后a为[1,2][3,1,2][1,2,3]报错C11len([1,2,3])结果是2310B12字典d={'a':1}获取键'a'的值用d.ad['a']d{a}d.get[a]B13以下不可变类型是listdictsettupleD14"a,b,c".split(',')返回"abc"['a','b','c']('a','b','c')报错B15集合{1,2,2,3}输出{1,2,2,3}{1,2,3}{2,3}报错B模块三:控制结构题号题目选项A选项B选项C选项D答案16以下循环执行次数:foriinrange(5):4560B17whileTrue:循环中要退出用continuepassbreakreturnC18if语句的条件表达式后必须跟逗号分号冒号空格C19下面代码输出什么?foriin[1,2]:print(i)12[1,2]12报错A模块四:函数题号题目选项A选项B选项C选项D答案20定义函数用关键字funcdefinedeffunctionC21函数没有return语句,默认返回值是0NoneFalse报错B22lambdax:x*2是什么匿名函数列表变量模块A23默认参数必须在非默认参数的左边右边任意位置最前面B模块五:面向对象与异常题号题目选项A选项B选项C选项D答案24类的构造方法名是strinitdelnewB25继承时调用父类方法常用base.method()super().method()parent.method()this.method()B26异常处理结构中无论是否异常都执行的块是tryexceptelsefinallyD27文件打开模式'w'表示只读追加写入覆盖二进制写C模块六:综合题号题目选项A选项B选项C选项D答案285>3and1<0结果是TrueFalse10B29[1,2]+[3]结果是[1,2,3][1,2,[3]][4]报错A30print("Python"[-1])输出Pno报错B第十一部分:填空题高频考点(直接背诵)序号题目答案1输出函数的名称是__。print2获取用户输入的函数是__。input()3列表的尾部添加元素方法__。append()4字典通过键获取值的安全方法(不存在返回默认)是__。get()5定义类的关键字是__。class6构造方法名是__。__init__7异常捕获关键字__。try/except8循环中跳出循环的关键字__。break9字符串分割方法__。split()10列表推导式基本语法[表达式for__in可迭代]。变量11匿名函数使用__关键字。lambda12文件打开后自动关闭用__语句。with13引入模块用__关键字。import14判断键是否在字典中用__运算符。in15将浮点数转换为整数的函数__。int()16获取列表长度的函数__。len()17字符串去除两端空白方法__。strip()18遍历字典键值对用items()方法,配合fork,vind.__。items()19生成整数序列常用函数__(start,stop)。range()20可变的序列是,不可变的是。(各举一例)列表,元组第十二部分:程序阅读题示例例题1defadd(a,b=5):

returna+b

print(add(3))

print(add(3,2))输出:8

5例题2lst=[1,2,3]

lst.append([4,5])

print(len(lst))输出:4(注:append添加一个列表作为单个元素)例题3s="abcdef"

print(s[1:4])

print(s[::2])输出:bcd

ace例题4deffunc(x):

x=x+[4]

returnx

a=[1,2,3]

b=func(a)

print(a)

print(b)输出:[1,2,3](因为函数内重新赋值,没有修改原列表)

[1,2,3,4](注意:若函数内是x.append(4)则会修改原列表)例题5(异常)try:

print(10/0)

exceptZeroDivisionError:

print("Error")

finally:

print("End")输出:Error

End例题6(类)classDog:

def__init__(self,name):

=name

defspeak(self):

print(+"saysWoof!")

d=Dog("Buddy")

d.speak()输出:BuddysaysWoof!第十三部分:程序填空题示例例题1:列表推导式生成偶数平方squares=[____①____forxinrange(10)if____②____]答案:①x**2②x%2==0例题2:读取文件并打印行with____①____('data.txt','r')asf:

forlinein____②____:

print(line.strip())答案:①open②f例题3:异常处理try:

num=int(input("number:"))

print(10/num)

except____①____:

print("不能除零")

except____②____:

print("请输入整数")答案:①ZeroDivisionError②ValueError例题4:类定义classCircle:

def__init__(self,radius):

self.____①____=radius

defarea(self):

return3.14*self.radius____②____2答案:①radius②**第十四部分:编程题示例例题1:计算阶乘deffactorial(n):

result=1

foriinrange(1,n+1):

result*=i

returnresult

n=int(input("输入整数:"))

print(f"{n}!={factorial(n)}")例题2:统计字符串中字母和数字个数s=input("输入字符串:")

letters=sum(1forcinsifc.isalpha())

digits=sum(1forcinsifc.isdigit())

print(f"字母:{letters},数字:{digits}")例题3:定义学生类并排序classStudent:

def__init__(self,name,score):

=name

self.score=score

def__str__(self):

returnf"{}:{self.score}"

students=[Student("Tom",85),Student("Jerry",92),Student("Spike",78)]

students.sort(key=lambdas:s.score,reverse=True)

forstuinstudents:

print(stu)例题4:文件读写,统计单词频率withopen('words.txt','r')asf:

text=f.read().lower()

words=text.split()

freq={}

forwordinwords:

freq[word]=freq.get(word,0)+1

forw,cinfreq.items():

print(w,c)第十五部分:考前速记纸═══════════════════════════════════════════

Python程序设计考前速记

═══════════════════════════════════════════

【基础语法】

输出:print()输入:input()注释:#

缩进表示代码块冒号结束条件/循环/函数头

变量动态类型无需声明

【数据类型】

intfloatstrboollisttupledictset

str不可变list可变tuple不可变dict键值对

类型转换:int()float()str()list()tuple()

【序列操作】

索引s[i]切片s[i:j:k]长度len(s)

成员in连接+重复*

【列表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论