前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >聊一聊|如何准备python程序设计计算机二级考试

聊一聊|如何准备python程序设计计算机二级考试

作者头像
算法与编程之美
发布2020-04-01 09:58:33
1.2K0
发布2020-04-01 09:58:33
举报

前言

Python作为编程语言,在近几年大火起来,18年便被列为计算机二级考试科目之一,在计算机二级考试上。很多同学应该会选择python程序设计进行报考,下面分享一下如何准备考试。

具体内容

一.试题类型分析

1.单选题:单选题主要是由计算机基础、数据结构与算法和python基础知识三个部分组成,总共四十分,前两个部分是二级必考,第三部分则是python特有,分值占比会大一些,但绝大部分都是基础题,熟练掌握基础便可获得大部分分数。

2.基础编程题:题目会给一段写好的代码,描述代码作用,或者告知代码描述,让填写缺失的代码。这需要考生具备一定的代码阅读水平,才能准确完成题目,此部分40分。

3.编程题:一道自由度比较高的题目,需要调用各种和python编程相关的知识来解决,熟练掌握基础是过关的秘诀,此部分占20分。

(注意:以上两种编程题均在win7系统下,python3.5.2及以上的IDLE开发环境下)

二.考试内容

每个内容板块下会用⭐来标注难度。

1.python基本语法和元素(综合难度:⭐)

(1)程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、引用。(难度:⭐)

(2)掌握常规的的IO读写,input()、print()的用法。(难度:⭐)

(3)掌握关键保留字(难度:⭐⭐),关键字太多就不一一例举,给出如下网址,可以直接查看。https://cloud.tencent.com/developer/article/1458486

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

编 辑 | 王楠岚

责 编 | 刘仕豪

where2go 团队

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档