全国计算机二级Python

本文详细概述了全国计算机二级Python考试的要求,包括掌握基本语法、标准库和第三方库的使用,以及上机考试的流程、环境和编程技巧。还介绍了数据类型、控制结构、文件操作、绘图和随机数等内容,以及第三方库jieba的分词功能和pip的安装管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全国计算机二级Python文档

报名官网: NCRE - 中国教育考试网 (neea.edu.cn)

基本要求:

1. 掌握python语言的基本语法规则。
2. 掌握不少于 3 个基本的python标准库。
3. 掌握不少于 3 个python第三方库,掌握获取并安装第三方库的方法。
4. 能够阅读和分析python程序。
5. 熟练使用IDLE开发环境,能够将脚本程序转变为可执行程序。
6. 了解python 计算生态在以下方面(不限于)的主要第三方库名称:网络爬虫、数据分析、数据可视化、机器学习、Web开发等。

考试方式:

上机考试,考试时长120分钟,满分100分,选择题(40) + 编程题。

考试环境:

Windows7操作系统,建议Python 3.4.2 至 3.5.3版本,IDLE开发环境。

标示符

命名规则:

1.由大小写字母、数字、下划线、汉字组成。

2.大小写敏感,不能以数字开头。

3.长度没有限制,不能出现空格。

注释

单行注释 : #

多行注释: ‘’’ 或 “”"

数据类型

数值型
整数型(int)
进制类型引导符号描述
十进制
二进制0(零)b或0(零)B由0和1组成
八进制0(零)o或0(零)O0-7组成
十六进制0(零)x或0(零)X0-9,a-f或A-F
浮点型(float)

科学计数法:1.01e4 = 10100.0

复数型(complex)

形式:a + bj

a是实数,简称实部,b是虚数部分,简称虚部。虚数部分通过j或J表示

j=根号-1

注意:当b为1时,1不能省略,即1j; 例:1.3+4j ,-5 + 2j 10+ 1j

real:获取复数实数部分

imag:获取复数虚数部分

字符串型(str)

可以使用双引号或单引号括起来,无法换行

也可以使用三双引号和三单引号扣起来,可以换行

布尔型(bool)

True Flase

type()函数

组合数据类型

集合类型
集合(set)(无序且不重复)

创建空集合: s1 = set() 或 = set({})

以花括号 {} 括起来,逗号分隔

python中的集合类型与数学中的集合概念一致

集合用来存储无序不重复的数据

集合中元素的类型只能是不可变数据类型:整数、浮点数、字符串、元组等

列表、字典和集合类型本身都是可变数据类型

操作符描述
S - T(差)返回一个新集合,包括在s中单不在T中的元素
S & T(交)返回一个新集合,包括S和T的共同元素
S ^ T(补)返回一个新集合,包括集合S和T的非公共元素
S | T(并)返回一个新集合,包括集合s和T的所有元素
函数或方法描述
s.add(x)如果x不在集合s中,将x添加到s
s.remove(x)如果x在集合s中,移除x,不在则KeyError异常
s.clear()移除集合s的所有元素,清空后输出set()
len(s)返回集合s的元素个数
x in s如果xs的元素,返回True,否则False
x not in s如果x不是s的元素,返回True,否则False
序列类型(有序且可重复)
列表(list)

使用[] 来表示

切片和字符串完全一样

函数或方法
函数或方法描述
x in s如果x是列表s的元素,返回True,否则False
x not in s如果x不是列表s的元素,返回True,否则False
len(s)返回列表s的元素个数
min(s)返回列表s中的最小元素
max(s)返回列表s中的最大元素
ls.append(x)在列表ls末尾添加一个新元素x
ls.insert(i,x)在列表ls第i位增加元素x
ls.clear()清空列表ls的元素
ls.pop(i)将列表ls第i个元素删除
ls.remove(x)将列表中第一个出现的x删除(从左至右)
ls.reverse()将列表ls中的元素反转
ls.index(x)x在列表ls中第一次出现的位置
ls.count(x)x在列表ls中出现的总次数
ls.copy()返回一个新列表,复制ls中的所有元素

list排序

sort()方法

会修改原来的列表,使其元素按照升序或降序排列。

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list.sort()  
print(my_list)  # 升序
my_list.so 2 3.6rt(reverse=True)  #降序
print(my_list)

sorted() 方法

返回一个新的已排序的列表,而不会修改原来的列表。

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list.sorted()  
print(my_list)  # 升序
my_list.sorted(reverse=True)  #降序
print(my_list)
#自定义排序规则,abs:绝对值排序
sorted_list = sorted(my_list, key=abs)  
print(sorted_list)
元组(tuple)

元组类型使用()来表示

元组一旦定义就不能修改

函数或方法
函数或方法描述
x in s如果x是s的元素,返回True,否则False
x not in s如果x不是s的元素,返回True,否则False
len(s)返回元组s的元素个数
min(s)返回元组s的最小元素
max(s)返回元组s的最大元素
ls.index(x)元组ls中第一次出现元素x的位置
ls.count(x)元组ls中出现x的总次数
映射类型
字典{}dict

无序

字典类型以“键值对”的形式存储,类似与字典

{<键1>:<键1>,<键2>:<键2>}

取值:<字典变量>[‘索引’]

常用函数

函数或方法描述
lem(d)返回字典d的元素个数
min(d)返回字典d中键的最小值
max(d)返回字典d中键的最大值
x in d如果字典d中有x这个键,返回True
x not in d如果字典d中没有x这个键,返回True
d.keys()返回所有的键信息
d,values()返回所有值信息
d.tiems()返回所有键值对
d.get(key,defautl)键存在值则返回,否则返回default
d.pop(key,default)键存在则删除相关键值对,并返回相关值,否则返回default
d.popitem()随机从字典中取出一个键值对,以元组(key,value)形式返回,同时将该键值对从字典中删除
d.clear()清空字典d中所有键值对

程序控制结构

顺序结构
分支结构

语法: if <条件>:

​ <语句块1>

​ elif <条件>:

​ <语句块2>

​ else**😗*

​ <语句3>

循环结构

continue:中止本次循环,开始下一次循环

break:结束循环

range(num1):从0开始,到num1-1.步长为1,num1<=0时序列为空

range(num1,num2):从num1开始,到num2-1.步长为1

range(num1,num2,step):从num1开始,到num2-1.步长为step

遍历循环:for

for <循环变量> in <可迭代对象>:

​ <循环体>

无限循环:while

while <条件>:

​ <语句块>

异常处理

try:

​ <语句块1>

except:

​ <语句块2>

字符串

索引

索引用来表示字符串中字符的所在位置

如果一个字符串由n个字符,那么索引的取值范围是0~n-1

切片

使用切片可以获取字符串指定索引区间的字符

格式 <字符串或字符串变量> [开始索引 : 结束索引 : 步长]

[::-1] :倒序输出

不包含结束索引

步长默认为1,省略开始索引则从0开始,省略结束索引则到-1,不可同时省略开始和结束索引

格式化输出

format()函数

格式: <模板字符串>.format(<参数列表>)

<对齐><类型>
< :左对齐(字符串默认)
> :右对齐(数字默认)
^ : 居中对齐

格式控制:

1.宽度:print(“{:5}”.format(“2”)),左对齐右边补空格,超过规定长度则原样输出

2.对齐:print(“{:&>25}”.format(“22”)),代表右对齐,使用&填充,默认为空格,填充只能为单个字符,可为数字、字母、汉字

3.千位分隔符:print(“{:-^25,}”.format(2156486465+4))

4.精度控制:print(“{:.3f}”.format(123.5555)),四舍五入

5.数据类型:

符号形式
b整数二进制
c整数对应的Unicode字符
d整数十进制
o整数八进制
x整数小写十六进制
X整数大写十六进制
e浮点数对应的小写字母e的指数形式
E浮点数对应的大写字母e的指数形式
f标准浮点数
%输出浮点数百分比的形式

常用函数

函数名作用
len(x)返回字符串x的长度,也可返回其他组合数据类型的元素个数
str(x)返回任意类型x所对因的字符串形式
chr(x)返回Unicode编码x对应的单个字符(\u开头的16进制)
ord(x)返回单字符x表示的Unicode
hex(x)返回整数x对应十六进制的小写形式字符串
oct(x)返回整数x对应8进制的小写形式字符串

常用方法(字符串)

方法名作用
str.lower()全部字符转小写
str.upper()全部字符转大写
str.title()首字母大写
str.split(sep=None)返回一个列表,由str根据sep被侵害的部分构成,省略sep默认以空格分隔
str.count(sub,num)统计sub子串出现的次数,num:从第几位开始
str.replace(old,new)所有old子串被替换为new
str.center(wirth,fillchar)字符串居中函数,fillchar参数可选(默认为空格)
str.strip(chars = ’ ')去掉左侧和右侧chars中列出的字符(默认去空格)
str.join(iter)将iter变量的每一个元素后增加一个str字符串
str.capitalize()将str的首字母转换为大写,不是字母不变
str.index(sub,begin,end)返回sub在str中第一次出现的位置,没找到就报错,end可省略,不包括end
str.find(sub,begin,end)返回sub在str中第一次出现的位置,没找到就返回-1,end可省略,不包括end

文件

文件的类型

1.文本文件

一般由单一特定的字符组成,如Unicode编码,内容容易同意展示和阅读,由于文本文件存在编码,可以看作是存储在磁盘上的长字符串,如一个tet格式的文本文件

2.二进制文件

直接由0和1组成,没有统一的字符编码,文件内部数据的组织格式与文件用途有关。如png格式的图片文件、mkv格式的视频文件

区别:是否有统一的字符编码**

文件的操作

打开文件(open()) -> 读/写 -> 关闭文件(close())

打开文件

<变量名> = open(<文件路径及文件名>,<打开模式>)

打开模式描述
‘r’只读模式,如果文件不存在,返回异常FileNotFoundError,默认值
‘w’覆盖写模式,文件不存在则创建,存在则完全覆盖原文件
‘x’创建写模式,文件不存在则创建,存在则返回异常FileExistserror
‘a’追加写模式,文件不存在则创建,存在则在原文件最后追加内容
‘b’二进制文件模式
‘t’文本文件模式,默认值
‘+’与 r/w/x/a 一同使用,在原功能基础上增加读写功能

注意:默认打开模式为 rt

汉字占一个字符

如果文件中有汉字,需要加

open(“TextDemo1.txt”,“rt”,encoding = “UTF-8”)

方法描述
f.read(size)从文件中读入整个文件内容,参数可选,如果给出,读入前size长度的字符串或字节流
f.readline(size)从文件中读入一行内容。参数可选,如果给出,读入该行前size长度的字符串或字节流
f.readlines(hint)从文件中读入所有行,以每行为元素形成一个列表。参数可选,如果给出,读入hint行
f.seek(offset)改变当前文件操作指针的位置,offset的值:0为文件开头;1为从当前位置开始;2为文件结尾

绘图

使用Turtle库绘图

窗体函数

import turtle as t

from turtle import *

turtle.setup(width,height,startx,starty)

startx;窗口与屏幕左侧距离

starty:窗口与屏幕顶部距离

默认向右

函数名描述简写
forward(distance)沿着当前方向前进指定距离fd
backward(distace)沿着当前相反方向后退指定距离bk
right(angle)向右旋转angle角度
left(angle)向左旋转angle角度
goto(x,y)移动到绝对坐标(x,y)处
setx(x)修改画笔的横坐标到x,纵坐标不变
sety(y)修改画笔的纵坐标到y,横坐标不变
setheading(angle)设置当前朝向为angle角度seth()
home()设置当前画笔位置为原点,朝向东
pendown()放下画笔
penup()提起画笔,与pendown()配对使用pu()
pensize(width)设置画笔粗细width()
pencolor设置画笔颜色
color(“画笔颜色”,“填充颜色”)设置画笔和填充颜色
begin_fill()填充图形前,调用该方法
end_fill()填充图形结束
filling()放回填充的状态,True为填充,FALSE为未填充
clear()清空当前窗口,但不改变当前画笔的位置
reset()清空当前窗口,并重置位置等状态为默认值
screensize()设置画布窗口的宽度、高度和背景颜色
hideturtle()隐藏画笔
showturtle()显示画笔
isvisible()如果turtle可见,则返回True
write(str,font = None)输出font字体的字符串
circle(radius,e)绘制一个指定半径r和角度e的圆弧和弧形
dot(size,color)绘制一个指定直径size和颜色colore的圆点
undo()撤销画笔的最后一部动作
speed()设置画笔的绘制速度,参数为0~10

随机数

伪随机数

import random as r

函数名描述
seed(a = None)初始化随机数种子,默认值为当前系统时间
random()生成一个[0.0,1.0]之间的随机小数
randint(a,b)生成一个[a,b]之间的整数
getrandbits(k)生成一个k比特长度的随机整数
randrange(start,stop[,strp])生成一个[start,stop]之间以strp为步长的随机整数
uniform(a,b)生成一个[a,b]之间的随机小数
choice(seq)从序列类型(例如列表)中随机返回一个元素
shuffle(seq)将序列类型中元素随机排列
sample(pop,k)从pop中随机选取k个元素,以列表类型返回

第三方库

安装方式

1.pip

2.自定义安装

3.文件安装(扩展名 .whl)

pip使用

安装:install 库名

卸载:uninstall 库名

下载:download 库名

查看当前当三方库列表:list

查看某个第三方信息:show

jieba

jieba(“结巴”)是python中一个重要的第三方中文分词函数库,能够将一段中文文本分割成中文词语的序列,jieba库需要通过pip指令安装。

函数名描述
jieba.lcut()精确模型,返回一个列表类型
jieba.lcut(s,cut_all=True)全模式,返回一个列表
jieba.lcut_for_search(s)搜素引擎,返回一个列表类型
jieba.add_word(w)向分词词典中增加新词w

函数

函数的定义(声明)

1.降低代码难度

2.增加代码复用

格式

def <函数名> (<参数列表>):

​ <函数体>

​ return <返回值>

可选参数一般放在非可选参数的后面

返回值可以是多个,类型为元组 e.g:return a,b

函数内默认使用的是局部变量,可以使用 global 来强制使用全局变量

附录

函数名作用例子
type()type(‘hello’)
real获取复数实数部分a.real
imag获取复数虚数部分a.imag
input()

input(提示语句) 输入函数

作用:用来接受键盘输入的内容,默认为字符串类型

print 输出函数

格式:print(内容1,内容2,sep=‘内容’,end=‘内容’)

sep = separate (间隔) ,每个内容间的间隔符号,默认为" "(空格)

end 结尾的字符串,默认为’\n’

### 计算机二级 Python 考试大纲 全国计算机等级考试二级(简称计算机二级)主要考察考生掌握计算机基础知识的能力,以及运用一种高级计算机语言编写程序并进行上机调试的基本技能[^1]。以下是关于计算机二级 Python 的具体考试大纲: #### 一、理论基础 - **基本概念**:理解算法的概念及其特性;熟悉数据结构的基础知识。 - **编程环境**:熟练使用 Python 编程语言的集成开发环境 (IDE),如 IDLE 或其他常用工具。 - **语法与语义**:掌握 Python 基本语法,包括变量声明、运算符、表达式、控制流语句等。 #### 二、核心知识点 - **函数设计**:能够定义和调用自定义函数,理解参数传递机制及作用域规则。 - **文件操作**:学习如何读取和写入文本文件,处理异常情况下的错误管理。 - **模块应用**:了解标准库的功能,能合理导入并利用第三方扩展功能完成复杂任务。 - **面向对象初步**:认识类与对象的关系,实现简单的继承关系和多态行为。 #### 三、实践能力 - **问题解决**:通过实际案例分析培养逻辑思维能力和解决问题技巧。 - **代码优化**:注重效率提升,在保证正确性的前提下追求简洁高效的解决方案。 --- ### 真题解析示例 以下是从历年真题中选取的部分题目作为参考[^3]: #### 示例 1: 判断题 > 下列说法是否正确?如果一个列表 `lst` 中存在重复元素,则可以使用集合去重后再转回列表形式得到唯一值组成的列表。() 解答过程如下: 可以通过创建一个新的空集来存储唯一的项,遍历原列表并将不重复的项目加入到该集中最终再转换成列表即可验证此命题为真确无误。 ```python def remove_duplicates(lst): return list(set(lst)) ``` 上述方法确实有效因此答案应选“√”。 #### 示例 2: 编程题 给定一组不同规格的铅笔包信息,求解以最低成本获取指定数目 n 支铅笔所需的费用。假设输入格式如下所示: | 数量 | 单价($) | 库存 | |------|---------|-------| | ... | ....... | ......| 解析思路见参考资料描述[^4]: ```python def min_cost(n, packages): dp = [float('inf')] * (n + 1) dp[0] = 0 for package in packages: quantity, price_per_unit, stock = package[:3] max_buyable = min(stock, n // quantity) for buy_count in range(max_buyable + 1): current_total_quantity = buy_count * quantity if current_total_quantity <= n and dp[current_total_quantity] > dp[buy_count*quantity]: dp[current_total_quantity] += buy_count * price_per_unit return dp[-1] # Example usage packages_data = [(10, 5, 7), (20, 9, 3)] print(min_cost(100, packages_data)) ``` 以上展示了动态规划的具体实施细节用于寻找最优解法。 --- ### 总结 通过对理论知识的学习加上反复练习典型考题可以帮助提高应对正式测试的信心水平。希望这些资料对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值