全国计算机二级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(零)O | 0-7组成 |
十六进制 | 0(零)x或0(零)X | 0-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 | 如果x是s的元素,返回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’