Python作为编程语言,在近几年大火起来,18年便被列为计算机二级考试科目之一,在计算机二级考试上。很多同学应该会选择python程序设计进行报考,下面分享一下如何准备考试。
具体内容
一.试题类型分析
1.单选题:单选题主要是由计算机基础、数据结构与算法和python基础知识三个部分组成,总共四十分,前两个部分是二级必考,第三部分则是python特有,分值占比会大一些,但绝大部分都是基础题,熟练掌握基础便可获得大部分分数。
2.基础编程题:题目会给一段写好的代码,描述代码作用,或者告知代码描述,让填写缺失的代码。这需要考生具备一定的代码阅读水平,才能准确完成题目,此部分40分。
3.编程题:一道自由度比较高的题目,需要调用各种和python编程相关的知识来解决,熟练掌握基础是过关的秘诀,此部分占20分。
(注意:以上两种编程题均在win7系统下,python3.5.2及以上的IDLE开发环境下)
二.考试内容
每个内容板块下会用⭐来标注难度。
1.python基本语法和元素(综合难度:⭐)
(1)程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、引用。(难度:⭐)
(2)掌握常规的的IO读写,input()、print()的用法。(难度:⭐)
2.基本数据类型(综合难度:⭐⭐)
(1)数字类型:包括int(整数类形)、float(浮点数类型)、complex(复数类型)和bool(布尔型,数字里面的布尔型不是指True和False,指的是1和0)。
下面为需要掌握的相关函数:divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
abs() 函数返回数字的绝对值。
pow() 方法返回 xy(x的y次方)的值。
round(x,n)返回浮点数x四舍五入后保留n位小数的值
nim(),max()会返回给定序列的最小/最大值
(难度:⭐)
(2)字符串类型:需要掌握引索、切片以及基本的format()格式化的方法。
以下为需掌握的函数:chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
ord() 函数是 chr() 函数(对于8位的ASCII字符串)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值。
oct() 函数将一个整数转换成8进制字符串。
hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。
len() 方法返回对象(字符、列表、元组等)长度或项目个数。
str()返回一个对象的string格式。
str也内置了很多对字符串进行操作的函数:string.upper()转换string 中的小写字母为大写
string.lower()转换string 中的小写字母为小写
string.capitalize()把字符串的第一个字符大写
string.find(str,beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和end 指定范围,则检查是否包含在指定范围内,如果是返回 开始的索引值,否则返回-1
string.join(seq)以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
string.rfind(str,beg=0,end=len(string) ) 类似于 find()函数,不过是从右边开始查找.
(难度:⭐⭐)
(3)数据类型的判断转化
熟练运用int()、float()、str()根据条件进行转化。(难度:⭐)
3.程序的控制结构(综合难度:⭐⭐)
(1)了解三种控制结构:顺序结构、分支结构、循环结构(难度:⭐)
(2)重点把握分支结构(难度:⭐)单分支结构 if à if à if,所有if都处在同一级
双分支结构 if à else if,判断if后会出现下一级else if
多分支结构 if à else ifà else,如果前面所有条件都不满足,最后一级else便不用进行条件判断直接进入。
(3)程序的循环结构(难度:⭐⭐)while 引导的无限循环
for 引导的遍历循环
continue 跳过本轮循环
break 跳出循环
(4)异常处理:掌握try-except的用法(难度:⭐⭐)
4.函数和代码的复用(综合难度:⭐⭐)
(1)def定义函数:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(),任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数,return[表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
(2)函数的参数(难度:⭐⭐)默认参数:使用默认参数的时候,如果给形参传递了实参,则形参会接收实参的值。如果没有给这个形参传递实参,则形参会采用默认值。
位置参数:实参和形参的数量上必须要保持一致。
关键字参数:通过定义关键字获取实参的值,与形参的顺序无关。
可变参数:形参的数据会根据实参的数量的变化而变化。
(3)变量的作用域:区分好局部变量与全局变量的作用范围。(难度:⭐)
5.组合数据类型(综合难度;⭐⭐)
(1)列表(序列)(难度:⭐⭐)
序列都可以进行的操作包括索引,切片,加,乘,检查成员,此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法,序列是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现,下面是一些需要掌握的对列表的一些操作。list.append(obj)在列表末尾添加新的对象
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.insert(index,obj)将对象插入列表
list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)移除列表中某个值的第一个匹配项
list.reverse()反向列表中元素
list.sort(cmp=None,key=None, reverse=False)对原列表进行排序
list.count(obj)统计某个元素在列表中出现的次数
(2)元组(难度:⭐)
Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。此外,元组中只包含一个元素时,需要在元素后面添加逗号。
(3)字典(难度:⭐⭐⭐)
字典是另一种可变容器模型,且可存储任意类型对象,字典的每个键值key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号{}中。键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一;值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。字典需要掌握一下方法:dict.clear()删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.fromkeys(seq[, val])创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
dict.get(key,default=None)返回指定键的值,如果值不在字典中返回default值
dict.has_key(key)如果键在字典dict里返回true,否则返回false
dict.items()以列表返回可遍历的(键, 值) 元组数组
dict.keys()以列表返回一个字典所有的键
dict.update(dict2)把字典dict2的键/值对更新到dict里
dict.values()以列表返回字典中的所有值
pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。否则,返回default值。
popitem()返回并删除字典中的最后一对键和值。
(4)集合(难度:⭐⭐)
集合(set)是一个无序的不重复元素序列,可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须用 set() 而不是{},因为{}是用来创建一个空字典。下面是集合的一些操作;add(x)元素x添加到集合s中,如果元素已存在,则不进行任何操作。
remove(x)将元素x从集合s中移除,如果元素不存在,则会发生错误。
len() 计算集合s元素个数。
clear() 清空集合s。
pop()随机移除元素
symmetric_difference()返回两个集合中不重复的元素集合
union()返回两个集合的并集
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
difference()返回多个集合的差集
6.文件和数据格式化(综合难度:⭐⭐⭐)
(1)文件的打开、关闭和读写(难度:⭐⭐)open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出OSError。完整的语法格式为:
open(file,mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
文件打开模式:
x 写模式,新建一个文件,如果该文件已存在则会报错
b二进制模式
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式
r+打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
+打开一个文件进行更新(可读可写)。
互不冲突的打开模式可以可以进行叠加,比如ab表示以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
file.close() 关闭文件。关闭后文件不能再进行读写操作
(2)对一维数据和二维数据的表示、储存和处理以及采用CSV格式对一二维数据的文件的读写。(难度:⭐⭐⭐,为了避免误导大家,可以自行在网上查阅资料,进行学习)
7.python中的库(综合难度:⭐⭐⭐,需要记忆的量大)
(1)turtel库(难度:⭐⭐)绘制状态函数:pendown()、penup()、pensize()以及对应别名为pd()、pu()、width();
颜色控制函数:color()、pencolor()、begin_fill()、end_fill();
运动控制函数:forward()、backward()、right()、left()、setheading()、goto()、circle()以及对应别名fd、bk()、rt()、lt()、seth()
(2)random库
考查seed()、random()、randint()、getrandbits()、randrange()、uniform()、choice()、shuffle()、sample()
(3)time库时间处理函数:time()、gmtime()、localtime()、ctime()
时间格式化函数:mktime()、strftime()、strptime()
计时函数:sleep()、perf_counter()
(4)pyinstaller库和jieba库
记住pyinstaller打包文件的命令pyinstaller-Fc:\...\your_python_file.py以及jieba中的jieba.lcut()方法即可
(5)了解常见第三方库名称
网络爬虫:requests、scrapy、pyspider
数据分析:numpy、pandas、scipy
文本处理:pdfminer、python-docx、beautifulsoup4
数据可视化:matplotlib、seaborn、mayavi
用户图形界面:PyQt5、wxPython、PyGObject
机器学习:scikit-learn、TensorFlow、mxnet
Web开发:Django、pyramid、flask
游戏开发:pygame、Panda3D、cocos2d