虽然已经确定2018年9月份在全国计算机等级考试科目中加入“二级Python”,但现在还没有出台完整详细的考试大纲,官方网站也仅仅是简单说明了考试时长(120分钟)、大概形式(网络环境、无纸化)和环境要求(Python 3.5.2以上IDLE),考试大纲暂时还没有提供下载。
考试配套教程也是预计2018年3月份出版,不过官方网站已经提供了教程封面。
我在1998和1999年连续通过了全国计算机等级考试的二级、三级和四级考试,并且四级的笔试和上机成绩都是优秀,对这类考试接触还是比较早的,参加工作后又连续多年应邀给一些二级考试培训班讲课,也参加了多年的等级考试监考,对这类考试还是有一定了解的。新增的二级Python考试科目内容肯定会以基本数据类型、运算符、内置函数、选择结构与循环结构、函数定义与调用、面向对象编程基础、简单的文件操作和数据库操作为主,重点考查基本功,并不会涉及太多标准库(比较常用的像math、random、time、datetime、collections、itertools、functools、sqlite3、tkinter考查的可能较大,re、pickle模块有可能会涉及),基本上不会涉及扩展库应用,毕竟参加考试的人员专业相差很大,Python扩展库数量巨大,很难做出统一要求。
上海市早在2016年就已经做出了这方面的尝试,其考试大纲有一定的指导意义,全国计算机等级考试大纲应该会进行一定的参考,但肯定会有所改动。下面附上2016版上海市计算机等级考试二级Python大纲,仅供参考。
试卷结构
序 号 | 题 型 | 题 量 | 计 分 | 考核目标 |
一 | 单选题 | 10题 | 15分 | 基本概念 基本语句 语义知识 |
二 | 程序填空题 | 2题 | 20分 | 常用表达方法 特征数据类型 函数与文件 |
三 | 程序完成题 | 3题 | 30分 | 常用算法 程序实现 |
四 | 编程题 | 2题 | 35分 | 界面设计 图形绘制 综合应用 |
合 计 | 17题 | 100分 |
考试内容和要求
序号 | 内容 | 要点和考点 | 要求 |
1 | Python程序的组成、结构及书写规则 | ||
Python语言源程序结构 | · 模块结构与布局 | 理解 | |
程序的书写格式 | · 基本词法单位、标识符/常量/运算符等构成规则、关键字 · 程序的书写格式与基本规则 | 理解
掌握 | |
Python语言程序设计步骤 | · Python编程环境的操作使用 · 程序的编辑/保存/运行 | 掌握 掌握 | |
Python语言输入输出 | · 输入语句 · 输出语句 | 掌握 掌握 | |
2 | Python基本数据类型 | ||
数字类型 | · 整型、浮点型、复数型、字符串 | 掌握 | |
字符串 | · 字符串界定符 · 字符串操作的相关方法 | 掌握 掌握 | |
变量 | · 变量的定义 · 变量的初始化和赋值 · 变量类型的转换 | 掌握 掌握 掌握 | |
3 | 基本运算和表达式 | ||
运算符 | · 运算符种类、功能、优先级、结合性 | 理解 | |
算术运算 | · 自动类型转换规则 · 常用函数 | 掌握 知道 | |
比较、赋值和逻辑运算 | · 比较运算规则 · 赋值运算规则 · 逻辑运算规则 · 运算的优先级 | 掌握 掌握 掌握 理解 | |
表达式 | · 表达式组成规则、各类表达式 · 各类型数据混合运算中求值顺序 · 混合模式运算中的自动类型转换 · 基本运算执行顺序、表达式结果类型 | 理解 理解 掌握 理解 | |
4 | 结构和语句 | ||
基本语句及顺序结构语句 | · 赋值语句、复合赋值语句 · 输入和输出方式 | 掌握 掌握 | |
选择结构语句 | · if语句 · if-elif-else语句 · 选择语句嵌套 | 掌握 掌握 掌握 | |
循环结构语句 | · while语句 · for循环和range()内建函数 · 循环语句嵌套 · 死循环与半路循环 | 掌握 掌握 掌握 理解 | |
转移语句 | · break、continue、 return语句 | 掌握 | |
5 | Python的特征数据类型及操作 | ||
列表 | · 列表的概念和特点、对列表操作的相关方法 | 掌握 | |
元组 | · 元组的概念和特点、对元组操作的相关方法 | 掌握 | |
字典 | · 字典的概念和特点、对字典操作的相关方法 | 理解 | |
集合 | · 集合的概念和特点、对集合操作的相关方法 | 知道 | |
6 | Python中正则表达式的使用(选考) | ||
正则表达式 | · 基本语法规则 | 理解 | |
re模块的内置方法 | · 匹配、搜索、替换 | 掌握 | |
7 | 文件 | ||
基本概念 | · 文件的编码 · 文本文件和二进制文件 | 理解 理解 | |
文件操作 | · 文件的打开和关闭 · 定位 · 文件的读取、写入、追加 | 掌握 理解 掌握 | |
8 | 函数与模块 | ||
函数的定义 | · 函数名、形式参数、函数返回值、函 数体、匿名函数 | 掌握 | |
函数的调用 | · 形参、实参及其传递 | 掌握 | |
函数的递归调用 | · 递归的定义和函数调用 · 递归的执行 | 知道 知道 | |
库的安装 | · 模块化架构和包的管理 · pip、wheel和exe安装方法 | 理解 知道 | |
库的引用 | · import和from方式 | 掌握 | |
9 | 面向对象设计 | ||
面向对象概念 | · 类与实例、属性与方法 | 理解 | |
类与实例 | · 创建类、创建子类 · 创建类实例 | 理解 | |
面向对象的特征 | · 封装、继承、多态 | 知道 | |
10 | SQLite数据库操作(选考) | ||
SQLite数据库和简单SQL语句 | · SQLite数据库的创建与简单查询 | 理解 | |
数据库连接对象 | · 数据库的连接与关闭、创建游标 | 理解 | |
游标对象 | · execute()、fetchone()、fetchmany()、fetchall()、scroll()和close()方法 | 掌握 | |
11 | 使用tkinter的 GUI设计 | ||
tkinter常见控件 | · 按钮、标签、输入框、文本框、单选按钮、复选框等 · 共同属性和特有属性设置 | 掌握
掌握 | |
窗体控件布局 | · 窗体设计 · 控件布局 | 掌握 理解 | |
事件响应 | · 用户事件响应与自定义函数绑定 | 掌握 | |
12 | 图形绘制(可选用tkinter Canvas或turtle) | ||
位置 | · 绘图区域和坐标位置 | 掌握 | |
图形绘制的主要方法 | · tkinter Canvas绘图方法 · turtle绘图方法 | 掌握 掌握 | |
图形绘制 | · 绘制简单形状图形 · 绘制函数图形 | 掌握 掌握 | |
文字与颜色填充 | · 打印文字标签 · 颜色填充 | 知道 知道 |