2018年9月Python计算机二级复习攻略
字数 4960 2025-08-18 11:37:37
Python计算机二级考试全面教学文档
考试概述
- 考试方式: 上机考试
- 考试时长: 120分钟
- 满分: 100分
- 题型及分值:
- 单项选择题40分(含公共基础知识部分10分)
- 操作题60分(包括基本编程题和综合编程题)
- 考试环境:
- Windows 7操作系统
- Python 3.4.2至Python 3.5.3版本
- IDLE开发环境
一、Python语言基本语法元素
1. 程序的基本语法元素
- 格式框架: Python使用缩进表示代码块,通常4个空格为一个缩进层级
- 缩进: 同一代码块的语句必须有相同的缩进量
- 注释:
- 单行注释:
# 注释内容 - 多行注释: 使用三引号
'''注释内容'''或"""注释内容"""
- 单行注释:
- 变量: 无需声明类型,直接赋值即可创建
- 命名规则:
- 由字母、数字和下划线组成
- 不能以数字开头
- 区分大小写
- 不能使用保留字
- 保留字: 如
if,else,for,while,def,class等 - 数据类型: 包括数字、字符串、列表、元组、字典等
- 赋值语句:
变量名 = 值 - 引用: 变量是对值的引用
2. 基本输入输出函数
input([prompt]): 获取用户输入,返回字符串name = input("请输入您的名字: ")eval(expression): 计算字符串表达式并返回结果result = eval("3 + 5") # 返回8print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False): 输出内容print("Hello", "World", sep="-", end="!")
3. 源程序的书写风格
- PEP 8编码规范
- 每行不超过79个字符
- 适当使用空行分隔函数和类
- 运算符两侧和逗号后加空格
4. Python语言特点
- 解释型语言
- 动态类型
- 面向对象
- 丰富的标准库
- 跨平台
- 可扩展性
二、基本数据类型
1. 数字类型
- 整数类型(int): 如
10,-5,0 - 浮点数类型(float): 如
3.14,-0.001,2.0 - 复数类型(complex): 如
3+4j,-2j
2. 数字类型的运算
- 数值运算操作符:
- 算术运算符:
+,-,*,/,//(整除),%(取余),**(幂运算) - 增强赋值运算符:
+=,-=,*=,/=,//=,%=,**=
- 算术运算符:
- 数值运算函数:
abs(x): 绝对值divmod(x, y): 返回商和余数pow(x, y[, z]): 幂运算round(x[, n]): 四舍五入max(x1, x2,...): 最大值min(x1, x2,...): 最小值
3. 字符串类型及格式化
- 字符串表示: 单引号
' '、双引号" "或三引号''' '''/""" """ - 索引:
str[index],索引从0开始 - 切片:
str[start:end:step]s = "Python" print(s[1:4]) # 输出"yth" - format()格式化:
"{} is {} years old".format("Tom", 20) "{1} is {0} years old".format(20, "Tom") "{name} is {age} years old".format(name="Tom", age=20)
4. 字符串类型的操作
- 字符串操作符:
+: 连接*: 重复in: 成员判断
- 字符串处理函数:
len(str): 长度str(x): 转换为字符串chr(x): Unicode编码转字符ord(x): 字符转Unicode编码hex(x): 整数转十六进制字符串oct(x): 整数转八进制字符串
- 字符串处理方法:
str.lower(): 转小写str.upper(): 转大写str.split(sep=None): 分割字符串str.count(sub): 统计子串出现次数str.replace(old, new): 替换str.center(width[, fillchar]): 居中str.strip([chars]): 去除两端字符str.join(iterable): 连接序列元素
5. 类型判断和类型间转换
- 类型判断:
type(x): 返回类型isinstance(x, type): 判断类型
- 类型转换:
int(x): 转为整数float(x): 转为浮点数str(x): 转为字符串list(x): 转为列表tuple(x): 转为元组set(x): 转为集合dict(x): 转为字典
三、程序的控制结构
1. 程序的三种控制结构
- 顺序结构
- 分支结构
- 循环结构
2. 程序的分支结构
- 单分支结构:
if 条件: 语句块 - 二分支结构:
if 条件: 语句块1 else: 语句块2 - 多分支结构:
if 条件1: 语句块1 elif 条件2: 语句块2 ... else: 语句块n
3. 程序的循环结构
- 遍历循环(for):
示例:for 变量 in 序列: 语句块for i in range(5): print(i) - 无限循环(while):
while 条件: 语句块 - 循环控制:
break: 跳出当前循环continue: 跳过本次循环剩余部分else: 循环正常结束后执行
4. 程序的异常处理
try:
可能引发异常的代码
except 异常类型1:
处理异常1的代码
except 异常类型2:
处理异常2的代码
...
except:
处理其他异常的代码
else:
没有异常时执行的代码
finally:
无论是否发生异常都会执行的代码
四、函数和代码复用
1. 函数的定义和使用
def 函数名(参数列表):
"""文档字符串"""
函数体
return 返回值
2. 函数的参数传递
- 位置参数: 按位置顺序传递
- 默认参数: 定义时指定默认值
- 可变参数:
*args: 接收任意数量的位置参数,打包为元组**kwargs: 接收任意数量的关键字参数,打包为字典
- 参数名称传递: 调用时指定参数名
- 返回值: 可以返回多个值(实际上是返回一个元组)
3. 变量的作用域
- 局部变量: 函数内部定义的变量
- 全局变量: 函数外部定义的变量
global关键字: 在函数内部声明使用全局变量nonlocal关键字: 在嵌套函数中声明使用外层函数的变量
五、组合数据类型
1. 组合数据类型的基本概念
- 序列类型: 字符串、列表、元组
- 集合类型: 集合
- 映射类型: 字典
2. 列表类型
- 定义:
[元素1, 元素2, ...]或list(可迭代对象) - 索引: 从0开始,支持负数索引
- 切片:
list[start:end:step] - 操作函数:
len(list): 长度max(list): 最大值min(list): 最小值sum(list): 求和(仅数字)sorted(list): 排序
- 操作方法:
list.append(x): 追加元素list.extend(iterable): 扩展列表list.insert(i, x): 插入元素list.remove(x): 删除第一个匹配项list.pop([i]): 删除并返回指定位置元素list.clear(): 清空列表list.index(x): 返回第一个匹配项的索引list.count(x): 统计元素出现次数list.sort(key=None, reverse=False): 排序list.reverse(): 反转list.copy(): 浅拷贝
3. 字典类型
- 定义:
{键1:值1, 键2:值2, ...}或dict(键=值, ...) - 索引:
dict[key]或dict.get(key[, default]) - 操作函数:
len(dict): 键值对数量str(dict): 字符串表示
- 操作方法:
dict.clear(): 清空字典dict.copy(): 浅拷贝dict.fromkeys(seq[, value]): 创建新字典dict.get(key[, default]): 获取值dict.items(): 返回键值对视图dict.keys(): 返回键视图dict.values(): 返回值视图dict.pop(key[, default]): 删除并返回值dict.popitem(): 删除并返回最后一对键值dict.setdefault(key[, default]): 设置默认值dict.update([other]): 更新字典
六、文件和数据格式化
1. 文件的使用
-
打开文件:
file = open(filename, mode='r', encoding=None)模式:
'r': 读取(默认)'w': 写入(覆盖)'x': 独占创建'a': 追加'b': 二进制模式't': 文本模式(默认)'+': 更新(读写)
-
读取文件:
file.read([size]): 读取指定字节数file.readline(): 读取一行file.readlines(): 读取所有行
-
写入文件:
file.write(str): 写入字符串file.writelines(sequence): 写入字符串序列
-
关闭文件:
file.close()或使用
with语句自动关闭:with open(filename) as file: # 操作文件
2. 数据组织的维度
- 一维数据: 线性结构,如列表、集合
- 二维数据: 表格结构,如嵌套列表
3. 一维数据的处理
- 表示: 列表、集合
- 存储: 按行或按列存储
- 处理: 遍历、切片、统计等
4. 二维数据的处理
- 表示: 列表的列表
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] - 存储: CSV格式
- 处理: 双重循环遍历
5. CSV格式读写
- 读取CSV:
import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row) - 写入CSV:
import csv data = [['Name', 'Age'], ['Tom', 20], ['Jerry', 18]] with open('output.csv', 'w', newline='') as file: writer = csv.writer(file) writer.writerows(data)
七、Python计算生态
1. 标准库
- turtle库(必选): 绘图
import turtle t = turtle.Turtle() t.forward(100) - random库(必选): 随机数
import random random.random() # [0.0, 1.0) random.randint(a, b) # [a, b] random.choice(seq) # 随机选择 random.shuffle(seq) # 随机打乱 - time库(可选): 时间处理
import time time.time() # 时间戳 time.sleep(secs) # 暂停 time.strftime(format[, t]) # 格式化时间
2. 基本的Python内置函数
abs(),all(),any(),bin(),bool(),chr(),dict(),dir(),enumerate(),eval(),filter(),float(),format(),help(),hex(),id(),input(),int(),isinstance(),iter(),len(),list(),map(),max(),min(),next(),oct(),open(),ord(),pow(),print(),range(),reversed(),round(),set(),sorted(),str(),sum(),tuple(),type(),zip()
3. 第三方库的获取和安装
- 使用pip安装:
pip install 包名 - 指定版本:
pip install 包名==版本号 - 升级:
pip install --upgrade 包名
4. 必选第三方库
- PyInstaller库: 打包Python脚本为可执行文件
pyinstaller -F script.py - jieba库: 中文分词
import jieba seg_list = jieba.cut("我爱自然语言处理", cut_all=True) print(" ".join(seg_list))
5. 可选第三方库
- wordcloud库: 词云生成
from wordcloud import WordCloud wc = WordCloud().generate(text) wc.to_file("wordcloud.png")
6. 更广泛的Python计算生态
- 网络爬虫: Scrapy, BeautifulSoup, Requests
- 数据分析: NumPy, Pandas, SciPy
- 文本处理: NLTK, TextBlob
- 数据可视化: Matplotlib, Seaborn, Plotly
- 用户图形界面: PyQt, Tkinter, wxPython
- 机器学习: Scikit-learn, TensorFlow, PyTorch
- Web开发: Django, Flask, Tornado
- 游戏开发: Pygame, Panda3D
备考建议
-
基础语法:
- 熟练掌握基本语法元素
- 理解Python的缩进规则
- 熟练使用基本数据类型和操作符
-
控制结构:
- 掌握分支和循环的各种形式
- 理解异常处理机制
- 熟练使用break和continue
-
函数和代码复用:
- 熟练定义和调用函数
- 理解参数传递的各种方式
- 掌握变量的作用域规则
-
组合数据类型:
- 熟练使用列表和字典
- 理解序列操作和字典操作
- 掌握常用方法和函数
-
文件操作:
- 熟练读写文件
- 理解CSV格式
- 掌握一维和二维数据处理
-
标准库和第三方库:
- 重点掌握turtle、random库
- 理解PyInstaller和jieba库的使用
- 了解其他常用库的基本功能
-
实践练习:
- 多做编程题,特别是操作题
- 熟悉IDLE开发环境
- 练习在规定时间内完成题目
-
模拟考试:
- 进行全真模拟,掌握时间分配
- 分析错题,查漏补缺
- 重点复习薄弱环节