python2级速通

概述

​ 本篇笔记是在笔者刷python二级题目的时候,一边刷题一边总结的随笔,希望可以位后续的要备考的同学提供一点微薄的帮助。

​ 因为是随手记的,格式和顺序可能会不太完美。

选择题

主要包括以下内容:

  • 数据结构与算法
  • python基础
  • 软件测试相关
  • 数据库设计基础
  • 软件工程基础

分值分布:

  • 算法,软件工程,软件测试,数据库设计(15左右)

这部分内容,没有学过相关专业的同学死记硬背即可,不用花太多时间在上面,刷题的时候错题标记一下然后再刷一遍错题即可。

  • python基础(15左右)

包括的知识点有,数据类型特点,函数的特点和使用,和对运行流程结果的判断,这部分内容就不要死记硬背了,这部分内容要结合做操作题的经验,理解性记忆。

在做判断运行流程结果的题目时,注意以下几点:

1
2
3
1.input()函数返回的是字符串,他在对返回的数据处理时有没有进行转换。
2.考察输出结果时,一定要看清楚输出的是什么,如果print()里面是个函数,就注意看函数有没有返回值,返回值是什么数据类型。
3.注意代码缩进层次结构,哪些代码会被运行,哪些不会,要捋清楚,他经常会写一些不会被运行的部分来迷惑你。

其他的内容,像什么做什么需要哪个函数,在什么什么情况该用哪个语句,这些题目不需要花时间去刷,你在刷后面操作题的时候这些内容都已经理解记忆在脑子里了。

  • pyhon背景和生态(10左右)

就是问哪些第三方库是干什么的,在哪个领域有哪些库支持

1
2
3
4
5
6
7
8
9
开发用户界面(GUI):pyGTK,pygobject,PyQt
数据分析:seabom,mayavi2,numpy,scipy,pandas,matplotlib
web开发:pyramid,flask,django
文本处理:pdfminer,openpyxl
游戏开发:pygame
图像处理:PIL,Arcade
机器学习:mxnet,Tensorflow,PyTorch,Scikit-learn
网络爬虫:scrapy,requests
用来安装第三方库的工具是pip,把py脚本打包成可执行文件的是pyinstaller

其次就是python作为一个解释性语言的一些特点,和静态编译语言的一些区别对照之类的

选择题一定要保证在25分以上 !!

操作题

三个模块:

  • 基础操作:主要考点,格式化输出,对结构控制语句的掌握
  • 简单应用:turtle库,列表,字典的处理,排序,文件读取写入
  • 综合应用:文件读取写入,内容遍历,排序。在简单应用基础上增加要求

格式化输出

  • {:<填充><对齐><宽度><,(千分位分隔符)><.精度><类型>}

  • <左对齐 >右对齐 ^居中对齐

  • .2f 两位小数

  • x 十六进制输出 b二进制 d十进制 o八进制

image-20230325134853630

image-20230325134937908

false:

image-20230325134942614

true:(细节就是多了一个空格….挺无语的避免细节扣分)

image-20230325134950746

例题1:

image-20230325135059119

image-20230325135103898

  • 中文字符取值范围:’\ue400’ 到’\u9fff’

  • 大写方法name.upper(),小写name.lower()

例题2:

image-20230325135110219

image-20230325135114557

例题3:

image-20230325135118525

排序

1
list.sort( key=None, reverse=False)

image-20230325135123564

lambda:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
L=[('b',2),('a',1),('c',3),('d',4)]
#2、利用参数 cmp 排序
sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))
结果:
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
#3、利用参数 key 排序
sorted(L, key=lambda x:x[1])
#结果:
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
#4、按年龄升序
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
sorted(students, key=lambda s: s[2])
结果:
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
#5、按年龄降序
sorted(students, key=lambda s: s[2], reverse=True)
#结果:
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

计数排序问题

image-20230325135128947

1
2
3
4
5
 D[vote[:-1]]=D.get(vote[:-1],0)+1
NUM+=1
l = list(D.items())
l.sort(key=lambda s:s[1],reverse=True)

例题4:

image-20230325135134747

1
2
3
4
5
6
7
8
9
10
11
12
img = [0.244, 0.832, 0.903, 0.145, 0.26, 0.452]
filter = [0.1,0.8,0.1]
res = []
for i in range(len(img)-2):
k=0
for j in range(3):
k += filter[j]*img[i+j]
print('k={:.3f},filter[{}]={:.3f},img[{}+{}]={:.3f}'.format(k,j,filter[j],i,j,img[i+j]))
res.append(k)
for r in res:
print('{:<10.3f}'.format(r),end = '')

开始半天没看懂这纱暖题目什么吊意思,大概就是说,要算四个向量内积,从lt1的第一个元素开始,然后还要把计算过程打印出来。挺nt的就是说。专门标注一下。

turtle库

常用方法如下:

1
2
3
4
5
6
7
8
turtle.fd(<前进多少个单位>)#前进
turtle.seth()#调整方向
#seth(90)就是从逆时针调整九十度,seth(-90)就是顺时针
#相当于以当前位置为原点画一个坐标轴
turtle.penup()#提起笔:动时不会有痕迹
turtle.pendown()#落笔:移动时候开始有痕迹
turtle.pencolor()#调整画笔颜色
turtle.circle()#画圆,参数是半径

jieba库

常用的就一条:

s.lcut(str)

用来将一个字符串里分词,返回的数据是一个列表

文件操作:

1
2
3
4
5
6
7
f = open('文件名''打开模式')#r模式是读,w模式是写
#这个时候f作为对象名字,调用方法时用f.方法名(参数)
f.read()
#读取文件内容,返回字符串,如果是b模式(二进制模式)打开,就是二进制数据内容,一般打开图片的时候采用b模式,二级题目里基本都是读取文本内容然后处理
f.readlines()#按行读取,返回的是一个列表,每一行对应列表里一个元素
f.readline()#只读取一行
f.write()#写入内容

一般文件操作都会配合for循环使用,因为大部分的题目都是让你在文本里筛选出符合条件的内容,一般流程如下:

  1. 打开文件后读取所有行readlines
  2. 然后for ... in ...:去遍历每一行的内容
  3. 再用if语句判断具体条件
  4. 然后执行下一步操作,计数或者写入

python2级速通
http://example.com/2023/03/25/python二级速通/
作者
To1y5
发布于
2023年3月25日
许可协议