大家好,又见面了,我是你们的朋友全栈君。
Python二级考试知识点(一)
1、Python语言基本语法元素
考点1.1 程序的基本语法元素:程序的框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、库引用
33个保留字
6种数据类型
4种引用方法:import 库、from 库 import 函数、from 库 impor *、import 库 as 别名
考点1.2 基本输入输出函数:input()、eval()、print()
考点1.3 源程序的书写风格-Python之禅
运行import this 即可出现
考点1.4 Python语言的特点
通用、简洁、高产
2、基本数据类型
考点2.1 数字类型:整数类型、浮点数类型、复数类型
考点2.2 数字类型的运算:数值运算操作符、数值运算函数
操作符:x+y、x-y、xy、x/y、x//y、x%y、-x、+x、x**y
函数:abs()、divmod()、pow()、round()、max()、min()
考点2.3 字符串类型及格式化:索引、切片、基本的format()格式化方法
模板字符串.format()
模板:{:填充 对齐 宽度 千位分隔符 精度 类型}
考点2.4 字符串类型的操作:字符串操作符、处理函数和处理方法
操作符:x+y、xn、x in s
处理函数:len()、str()、chr()、ord()、oct()、hex()
处理方法:str.lower()、str.upper()、str.split()、str.count()、str.replace()、str.center()、str.strip()、str.join()
考点2.5 类型判断和类型间转换
int()、float()、str()
3、程序的控制结构
考点3.1 程序的三种控制结构
顺序结构、分支结构、循环结构
考点3.2 程序的分支结构
单分支结构(if)、二分支结构(if else)、多分支结构(if elif else)
考点3.3 程序的循环结构
遍历循环(for)、无限循环(while)、跳出循环(break) 跳过本轮循环(continue)
考点3.4 程序的异常处理:try-except
4、函数和代码复用
考点4.1 函数的定义和使用
def 函数名
函数体
return 返回值列表
考点4.2 函数的参数传递:可选参数的传递、参数名称传递、函数的返回值
考点4.3 变量的作用域:局部变量和全局变量
global 全局变量
5、组合数据类型
考点5.1 组合数据类型的基本概念:集合类型、序列类型、映射类型
考点5.2 列表类型:定义、索引、切片
考点5.3 列表类型的操作:列表的操作函数、列表的操作方法
操作函数:len()、min()、max()、list()
操作方法:ls.append()、ls.insert()、ls.clear()、ls.pop()、ls.remove()、ls.reverse()、ls.copy()
考点5.4 字典类型:定义、索引
定义:变量名={键1:值1,键2:值2,……,键n:值n}
索引:值=变量名[键]
考点5.5 字典类型的操作:字典的操作函数、字典的操作方法
操作函数:len()、min()、max()、dict()
操作方法:d.keys()、d.values()、d.items()、d.get()、d.pop()、d.popitem()、d.clear()
6、文件和数据格式化
考点6.1 文件的使用:打开、关闭和读写
打开模式:‘r’、‘w’、‘x’、‘a’、‘b’、‘t’、‘r+’、‘w+’、‘x+’、‘a+’
读取方法:f.read()、f.readline()、f.readlines()、f.seek()
写入方法:f.write()、f.writelines()
考点6.2 数据组织的维度:一维数据和二维数据
考点6.3 一维数据的处理:表示、储存和处理
字符串.join()、字符串.split()
考点6.4 二维数据的处理:表示、储存和处理
考点6.5 采用CSV格式对一二维数据文件的读写
7、Python计算生态
考点7.1-1 标准库:turtle库(必选)
绘制状态函数:pendown()、penup()、pensize()以及对应别名为pd()、pu()、width();
颜色控制函数:color()、pencolor()、begin_fill()、end_fill();
运动控制函数:forward()、backward()、right()、left()、setheading()、goto()、circle()以及对应别名fd、bk()、rt()、lt()、seth()
考点7.1-2 标准库:random库(必选)
考查seed()、random()、randint()、getrandbits()、randrange()、uniform()、choice()、shuffle()、sample()
考点7.1-3 标准库:time库(必选)
时间处理函数:time()、gmtime()、localtime()、ctime()
时间格式化函数:mktime()、strftime()、strptime()
计时函数:sleep()、perf_counter()
考点7.2 基本的Python内置函数
abs()#绝对值
divmod()#商和余数
pow()#幂
round()#取值范围
max()#最大
min()#最小
sum()#求和
all()#判断真假(全为真则真)
any()#判断真假(一个真则真)
bin()#二进制
oct()#八进制
hex()#十六进制
bool()#布尔类型
chr()#字符类型
int()#整数类型
float()#浮点数类型
list()#列表类型
str()#字符串类型
complex()#创建复数
dict()#创建字典
range()#创建整数序列
input()#输入
print()#输出
eval()#去掉外侧引号
exec()#计算字符串的值
len()#字符串长度
open()#打开文件
ord()#返回Unicode编码
type()#返回类型
考点7.3 第三方库的获取和安装
pip install <第三方库名>
考点7.4-1 第三方库:PyInstaller库(必选)
考点7.4-2 第三方库:jieba库(必选)
jieba.lcut()
考点7.4-3 第三方库:wordcloud库(可选)
考点7.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
Python二级考试知识点(二)
Python二级考试知识点(三)
列表的创建/增改删查
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ListA = [1,2,3,4]
ListA.append(5)
ListA.remove(1)
ListA.extend([6,7,1])
ListA.insert(0,1)
del ListA[0]
print(ListA)
print(ListA.count(1))
print(ListA.index(1))
print(ListA.index(1,1,len(ListA)))
ListA.pop()
ListA.pop(2)
ListA.reverse()
print(ListA)
ListA.sort(reverse=True)
列表索引
1
2
3
4
5
6
7
ls1 = [‘James’,‘Andy’,1,2,3]
print(ls1[0])
print(ls1[1:])
print(ls1[:3])
ls2 = [‘Nike’,‘Biber’]
ls = ls1 + ls2
print(ls)
字符串操作
字符串的连接
1
2
3
4
str1 = ‘lk’
str2 = ‘psr’
str3 = str1 + str2
print(‘Well Water’+‘River’)
字符串的复制
1
2
3
str1 = ‘I love math’
str2 = str1*3
print(‘I Love U\n’*3)
字符串的转义
1
2
a = ‘Let’s go’
b = r’C:\lk’
多行字符串
1
2
3
4
5
str =
‘’’ lk
lk
lk
‘’’
更多字符串内置方法可以参照
字符串内置函数总结
代码测试
判断变量类型
1
2
3
a = ‘lk’
type(a)
isinstance(a,str)
断言,当条件不满足时退出
1
assert a>4
元组操作
创建元组
1
2
3
tuple1 = (1,2,3,4,5,6,7,8,9)
tuple1 = 1,
8*(4,)
Python二级考试知识点(四)
计算机二级python 知识点篇(文件和数据格式化)
考纲考点
文件的使用: 文件打开、 关闭和读写
数据组织的维度: 一维数据和二维数据
一维数据的处理: 表示、 存储和处理
二维数据的处理: 表示、 存储和处理
采用CSV格式对一二维数据文件的读写
知识点1
文件包括两种类型: 文本文件和二进制文件。
二进制文件和文本文件最主要的区别在于是否有统一的字符编码
文本文件一般由单一特定编码的字符组成, 如UTF-8编码, 内容容易统一展示和阅读。
二进制文件直接由比特0和比特1组成, 文件内部数据的组织格式与文件用途有关。 二进制是信息按照非字符但特定格式形成的文件, 例如, png格式的图片文件、 avi格式的视频文件
f = open("a.txt","rt") #t表示文本文件方式
print(f.readline())
f.close()
>>>
全国计算机等级考试
f = open(“a.txt”,“rb”) #b表示二进制文件方式
print(f.readline())
f.close()
>>>
b'\xc8\xab\xb9\xfa\xbc\xc6\xcb\xe3\xbb\xfa\xb5\xc8\xbc\xb6
\xbf\xbc\xca\xd4'
采用文本方式读入文件, 文件经过编码形成字符串, 打印出有含义的字符;
采用二进制方式打开文件, 文件被解析为字节流
文件的打开与关闭
Python通过open()函数打开一个文件, 并返回一个操作这个文件的变量, 语法形式如下:
<变量名> = open(<文件路径及文件名>, <打开模式>)
打开模式使用字符串方式表示, 根据字符串定义,单引号或者双引号均可。 上述打开模式中, ‘r’、‘w’、 ‘x’、 ‘b’可以和’b’、 ‘t’、 ‘+’组合使用, 形成既表达读写又表达文件模式的方式。
例 新建一个文本文件a.txt, 其内容为“全国计算机等级考试” , 保存在目录PATH中, 假设此时路径PATH是Windows系统的D盘根目录。 打开并关闭该文件的操作过程如下。
>>>PATH = "D:\\"
>>>f = open(PATH + "a.txt", "rt")
>>>print(f.readline())
国家计算机等级考试
>>>f.close()
>>>print(f.readline())
Traceback (most recent call last):
File "<pyshell#81>", line 1, in <module>
print(f.readline())
ValueError: I/O operation on closed file.
文件的读写
根据打开方式不同, 文件读写也会根据文本文件或二进制打开方式有所不同。
一次性读入内存 read() & readlines()
f.read()是最常用的一次性读入文件的函数, 其结果是一个字符串。
f.readlines()也是一次性读入文件的函数, 其结果是一个列表, 每个元素是文件的一行。
>>>f = open("D://b.txt", "r")
>>>s = f.read()
>>>print(s)
新年都未有芳华, 二月初惊见草芽。
白雪却嫌春色晚, 故穿庭树作飞花。
>>>f.close()
>>>f = open("D://b.txt", "r")
>>>ls = f.readlines()
>>>print(ls)
['新年都未有芳华, 二月初惊见草芽。 \n', '白雪却嫌春色晚, 故穿
庭树作飞花。 \n']
>>>f.close()
文件指针
文件打开后, 对文件的读写有一个读取指针, 当从文件中读入内容后, 读取指针将向前进, 再次读取的内容将
从指针的新位置开始。
>>>f = open("D://b.txt", "r")
>>>s = f.read()
>>>print(s)
新年都未有芳华, 二月初惊见草芽。
白雪却嫌春色晚, 故穿庭树作飞花。
>>>ls = f.readlines()
>>>print(ls)
[]
>>>f.close()
结合读取指针理解, 上述代码中ls返回值为空,因为之前f.read()方法已经读取了文件全部内容,读取指针在文件末尾, 再次调用f.readlines()方法已经无法从当前读取指针读入内容, 因此返回结果为空。f.seek()方法能够移动读取指针的位置, f.seek(0)将读取指针移动到文件开头f.seek(2)将读取指针移动到文件结尾。
>>>f = open("D://b.txt", "r")
>>>s = f.read()
>>>print(s)
新年都未有芳华, 二月初惊见草芽。
白雪却嫌春色晚, 故穿庭树作飞花。
>>>f.seek(0) # 将读取指针重置到文件开头
>>>ls = f.readlines()
>>>print(ls)
['新年都未有芳华, 二月初惊见草芽。 \n', '白雪却嫌春色晚, 故穿庭树作飞花。 \n']
>>>f.close()
逐行读入
文本文件可以看成是由行组成的组合类型,因此, 可以使用遍历循环逐行遍历文件, 使用方法如下:
f = open(<文件路径及名称>, "r")
for line in f:
# 处理一行数据
f.close()
f = open("D://b.txt", "r")
for line in f:
print(line)
f.close()
>>
新年都未有芳华, 二月初惊见草芽。
白雪却嫌春色晚, 故穿庭树作飞花。
f.write(s)向文件写入字符串s, 每次写入后, 将会记录一个写入指针。 该方法可以反复调用, 将在写入指针后分批写入内容, 直至文件被关闭。
使用f.write(s)时, 要显式的使用’\n’对写入文本进行分行, 如果不进行分行, 每次写入的字符串会被连接起来。
>>>f = open("D://c.txt", "w")
>>>f.write('新年都未有芳华\n')
>>>f.write('二月初惊见草芽\n')
>>>f.write('白雪却嫌春色晚\n')
>>>f.write('故穿庭树作飞花\n')
>>>f.close()
新年都未有芳华
二月初惊见草芽
白雪却嫌春色晚
故穿庭树作飞花
f.writelines(lines)直接将列表类型的各元素连接起来写入文件f
>>>ls = ['新年都未有芳华\n', '二月初惊见草芽\n','白雪却嫌春色晚\n','故穿庭树作飞花\n']
>>>f = open("D://c.txt", "w")
>>>f.writelines(ls)
>>>f.close()
数据组合的维度
一维数据由对等关系的有序或无序数据构成, 采用线性方式组织, 对应于数学中数组的概念。
二维数据, 也称表格数据, 由关联关系数据构成,采用二维表格方式组织, 对应于数学中的矩阵
高维数据由键值对类型的数据构成, 采用对象方式组织, 可以多层嵌套
一维数据的处理
一维数据是最简单的数据组织类型, 由于是线性结构, 在Python语言中主要采用列表形式表示
逗号分割的存储格式叫做CSV格式(Comma-SeparatedValues, 即逗号分隔值)
一维数据保存成CSV格式后, 各元素采用逗号分隔, 形成一行。 从Python表示到数据存储, 需要将列表对象输出为CSV格式以及将CSV格式读入成列表对象
列表对象输出为CSV格式文件方法如下, 采用字符串的join()方法最为方便
ls = ['北京', '上海', '天津', '重庆']
f = open("city.csv", "w")
f.write(",".join(ls)+ "\n")
f.close()
北京,上海,天津,重庆
对一维数据进行处理首先需要从CSV格式文件读入一维数据, 并将其表示为列表对象
f = open("city.csv", "r")
ls = f.read().strip('\n').split(",")
f.close()
print(ls)
>>>
['北京', '上海', '天津', '重庆']
二维数据的处理
维数据由多条一维数据构成, 可以看成是一维数据的组合形式。 因此, 二维数据可以采用二维列表来表示, 即列表的每个元素对应二维数据的一行, 这个元素本身也是列表类型, 其内部各元素对应这行中的各列值
ls = [
[‘指标’, ‘2014年’, ‘2015年’, ‘2016年’],
[‘居民消费价格指数’, ‘102’, ‘101.4’, ‘102’],
[‘食品’, ‘103.1’, ‘102.3’, ‘104.6’],
[‘烟酒及用品’, ‘994’, ‘102.1’, ‘101.5’],
[‘衣着’, ‘102.4’, ‘102.7’, ‘101.4’],
[‘家庭设备用品’, ‘101.2’, ‘101’, ‘100.5’],
[‘医疗保健和个人用品’, ‘101.3’, ‘102’, ‘101.1’],
[‘交通和通信’, ‘99.9’, ‘98.3’, ‘98.7’],
[‘娱乐教育文化’, ‘101.9’, ‘101.4’, ‘101.6’],
[‘居住’, ‘102’, ‘100.7’, ‘101.6’],
]
二维列表对象输出为CSV格式文件方法如下, 采用遍历循环和字符串的join()方法相结合
ls代表二维列表, 此处省略
f = open("cpi.csv", "w")
for row in ls:
f.write(",".join(row)+ "\n")
f.close()
对二维数据进行处理首先需要从CSV格式文件读入二维数据, 并将其表示为二维列表对象。 借鉴一维数据读取方法, 从CSV文件读入数据的方法如下。
f = open("cpi.csv", "r")
ls = []
for line in f:
ls.append(line.strip('\n').split(","))
f.close()
print(ls)
>>>
[['指标', '2014年', '2015年', '2016年'], ['居民消费价格指数', '102', '101.4', '102'], ['食品', '103.1', '102.3','104.6'], ['烟酒及用品', '994', '102.1', '101.5'], ['衣着', '102.4', '102.7', '101.4'], ['家庭设备用品', '101.2','101', '100.5'], ['医疗保健和个人用品', '101.3', '102','101.1'], ['交通和通信', '99.9', '98.3', '98.7'], ['娱乐教育文化', '101.9', '101.4', '101.6'], ['居住', '102','100.7', '101.6']]
二维数据的处理
二维列表一般需要借助循环遍历实现对每个数据的处理, 基本代码格式如下:
for row in ls:
for item in row:
<对第row行第item列元素进行处理>
# 此处略去从CSV获取数据到二维列表ls
for row in ls:
line = ""
for item in row:
line += "{:10}\t".format(item)
print(line)
喜欢的点个赞呗!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143824.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...