Python语言程序设计(二级)
因新冠肺炎的影响,国家取消了2020年3月和6月的计算机等级考试。
等到7月30日,计算机等级考试官网终于出了各省报名安排。
重庆市9月的考试安排时间节点如下:
- 报名时间为:8月19日至9月2日
- 考试时间为:9月26日至9月29日
我不是在校生,是因为出了新政策,准备要补拿学位证书,才选择进行考试。
本来是报考3月的java二级,可因为疫情取消了考试;学习的java相关知识也忘了不少。
为了提高通过的概率,在本次报考的时候,我选择了比较易学的python(也因为最近python实在有点火)。
两年前简单了解过python,没有系统的学习;已经很久没接触了,基本上也算从零开始学习吧。
现在是2020年9月1日,距离考试时间还有二十五天,我开始利用自己的空闲时间备考,特在此记录过程,以备大家参考。
因为是抽工作后的空闲时间学习,在这里只针对二级考试相关内容进行学习,以拿证为最终目的。
相关链接:
一、考试须知
- 为上机考试,考试时长120分钟,满分100分;选择题得分≥20分且总分≥60分时可获得证书。
- 分数构成:
- 选择题40分
含公共基础题10分(送分题)和专业题30分; - 操作题60分
含基础编程题40分和综合编程题20分。
- 考试成绩分为四个等级:
- 0-59 不及格
- 60-79 及格
- 80-89 良好
- 90-100 优秀
这是我本次备考的目标
- 做选择题时键盘是锁定的,只能用鼠标点选,做完提交后不能再进入选择题页面了;做操作题时键盘会解锁。
- 操作题注意事项:
- 题目对应的.py文件无需自己创建。
- .py文件名必须按照提示说明的要求命名,否则系统无法识别直接0分。
- 编程题的答案一定要保证能完整运行,否则直接0分。
- 调试工具IDLE,需要学会此应用的基础操作(Python安装后自带)。
- 上机试试能不能使用help(),能使用的话大题就稳了。
二、考试报名
关注全国计算机等级考试-官网发布的报名信息,所在地区开始开放报名后进入在线报名页面找到地区入口进行报名。
报名无其他限制,主要准备一张电子证件照和报名费用(110元,支付宝在线缴费)。
选择考点时尽量选择离家近一点的就行,但是不是每个考点有设置有python科目,我就选了一个离家很远的考点。
三、本地环境
1. 应用安装
进入二级Python考试应用软件下载 ,下载官方提供给软件包根据指引进行Python和三方库的本地安装。
安装好Python后,在开始菜单中打开Pyhton层级,就可以找到IDLE工具了。
2. 学习IDLE
掌握IDLE的基础用法,后面的学习会使用idle来实操。
掌握.py文件的编辑和运行,不然给个题目你都没法自己调试。
四、开始学习
学习目标就是成功拿下二级证书,和这个目标不相关的内容暂不做学习了解,毕竟时间有限。
1. 基础函数
dir(x)
询x类/对象所有属性
dir(list)
'''
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
'''
help(x)
了解x模块/类型/对象/方法/属性的详细信息
help (list)
'''
| __add__(self, value, /)
| Return self+value.
|
| __contains__(self, key, /)
| Return key in self.
...
'''
print(x)
打印
print("hello world!") #打印:hello world!
type(x)
获取参数x的类型
param = 123
print(type(param)) #打印:<class 'int'>
param ="123"
print(type(param)) #打印:<class 'str'>
input(x)
接收输入,x为输入的说明内容
s = input("请输入你的姓名:")
print("{0}你好,我是python。".format(s))
eval(x)
将字符串x当成有效的表达式进行计算并返回结果
count = 99
print(eval("count+100")) #打印:199
#也可以指定参数只从globals参数中匹配
g = {'count':9}
print(eval("count+100",g)) #打印:109
2. 保留字
import keyword
print(keyword.kwlist)
#打印:['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
3. 数据类型
- 基础数据类型
类型 | 说明 |
---|---|
str | 字符串 |
int | 整数 |
float | 浮点数 |
bool | 布尔值 |
list | 列表 |
tuple | 元组 |
dict | 字典 |
set | 集合 |
- 类型转换
函数 | 说明 |
---|---|
int(x [,base]) | 将x转换为一个整数 |
long(x [,base] ) | 将x转换为一个长整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个序列 (key,value)元组。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
unichr(x) | 将一个整数转换为Unicode字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
4. 基础语法
变量
变量不用声明类型,使用前必须赋值。
hi = 'hello world!' #不用声明类型,直接给hi赋值
print(hi) #使用前必须赋值,打印hi的值
命名
变量命名注意事项:
- 以包括字母、数字、下划线,但是数字不能做为开头;
- 系统关键字不能做变量名使用;
- 除了下划线之个,其它符号不能做为变量名使用;
- 区分大小写。
代码结构
严格使用缩进格式。
count = 6
if count==6:
print('true')
else:
print('flase')
print('ok')
'''
打印:
true
ok
'''
注释
单行注释使用井号#
,多行注释使用三个单引号'''
或三个双引号"""
。
#单行注释
'''
多行
注释
'''
"""
多行
注释
"""
字符转译
字符串拼接时注意转译;内容中有斜线时,使用真实字符串,及r字母开头。
hi = "Let's go! " #使用双引号括单引号,正常输出
print(hi) #打印:Let's go!
hi = 'Let\'s go! ' #使用单引号括单引号时,用斜线转译,正常输出
print(hi) #打印:Let's go!
hi = r'\\\三道杠' #本身包含斜线时,使用真实字符串自动转换为'\\\\\\三道杠',正常输出
print(hi) #打印:\\\三道杠
多行字符串
字符串是多行时,可以使用三连引号,单双都适用,同多行注释。
hi='''
亲爱的,
你好,
我是你爸爸!
'''
print(hi)
'''
打印:
亲爱的,
你好,
我是你爸爸!
'''
操作符
操作符的优先级。
- 幂运算
**
- 正负号
+x正数,-x负数
- 算术操作符
*乘,/除,//原始除,+加,-减
- 比较操作符
<小于,<=小于等于,>大于,>=大于等于,==等于,!=不等于
,不支持++自增,--自减
- 逻辑运算符
not非,and和,or或
表达式中有括号时,优先执行扩展里面的()
- 操作符注意事项:
-3**2 #等于-(3**2) >>> -9 3**-2 #等于3**(-2) >>>0.1111111111111111 3<4<5 #等于 (3<4) and (4<5) >>>true
条件分支
num =1;
if num >1:
print('a')
elif num ==1: #不是else if哦!
print('b')
else:
print('c')
#打印:b
while 循环
num =0
while num<10:
print(num) #打印0到9
num+=1
for 循环
-
基础用法
nums = [0,1,2,3,4,'ok'] for item in nums: #遍历数组 print(item) #打印0到4,以ok结束
-
range方法
for item in range(1,10,2): #range为数组生成器,意为:生成1到10以内每次递增2的数组 print(item) #打印1到10的基数
-
break 结束循环
#当i等于3时结束循环 for i in range(6): if i==3: break print(i) ''' 打印: 0 1 2 '''
-
continue 跳出本次循环
#当i等于3时跳过该次循环
for i in range(6):
if i==3:
continue
print(i)
'''
打印:
0
1
2
4
5
'''
```
### 函数
创建函数关键字`def`。
```python
def myFirstFunction(param1,param2): #创建函数
'此方法需要两个参数,有返回值' #函数文档
print("第一个函数,参数1:{0};参数2:{1}".format(param1,param2))
print("假设这里做了很多操作")
return "这是返回值"
result = myFirstFunction("aaa","bbb") #调用函数
print(result) #打印:这是返回值
print(myFirstFunction.__doc__) #打印:此方法需要两个参数,有返回值
- 关键字参数
def hello(param1,param2): #创建函数
print("参数1:{0};参数2:{1}".format(param1,param2))
hello("bbb","aaa") #打印:参数1:bbb;参数2:aaa
hello(param2="bbb",param1="aaa") #打印:参数1:aaa;参数2:bbb
- 默认值
def dffun (param1='aaa',param2='bbb'):
print("参数1:{0};参数2:{1}".format(param1,param2))
dffun() #打印:参数1:aaa;参数2:bbb
- 收集参数
def sjfun(*params):
print("尝试长度为:{0};第二个参数为:{1}".format(len(params),params[1]))
sjfun(1,2,3,4,5,6) #打印:尝试长度为:6;第二个参数为:2
def sjfun(*params,age='18'):
print("长度为:{0};age为:{1}".format(len(params),age))
sjfun(1,2,3,4,5,6,age="99") #打印:长度为:6;age为:99
lambda表达式
返回一个没有命名的函数,没有使用时会自动释放资源,减少内存消耗。
# 普通方法
def sumjs(x):
return 4+x
print(sumjs(4)) #打印:8
# lambda函数
add = lambda x:4+x
print(add(4)) #打印:8
# 多个参数
add = lamba a,b:a+b
print(add(4,6)) #打印:10
异常处理
try:
print(10/0)
except ZeroDivisionError as e:
print("0不能作为除数")
finally:
print("请联系管理员")
'''
运行代码:
0不能作为除数
请联系管理员
'''
常见错误类型
类型 | 说明 |
---|---|
ZeroDivisionError | 零不能作为除数 |
ValueError | 无效的参数 |
IndexError | 序列中没有该索引 |
5. 数据类型
list 列表
列表(数组plus),非常有用,装一切。
基本用法
ls = [1,2,3]
print(ls) #打印:[1,2,3]
ls.append('a') #在末尾追加值
print(ls) #打印:[1,2,3,'a']
ls.extend(['b','c']) #在末尾追加数组
print(ls) #打印:[1,2,3,'a','b','c']
ls.insert(0,0) #在指定位置插入值
print(ls) #打印[0, 1,2,3,'a','b','c']
ls.remove(1) #根据元素删除
print(ls) #打印[0, 2, 3, 'a','b','c']
del ls[0] #根据索引删除
print(ls) #打印:[2, 3, 'a','b','c']
pp = ls.pop() #取出最后一个值
print(pp) #打印:c
print(ls) #打印:[2, 3, 'a','b']
ls2 = ls[1:3] #切片,获取指定起止内的数组
print(ls2) #打印:[3,'a']
ls.reverse() #反转
print(ls) #打印:['b', 'a', 3, 2]
ls = [1,3,2]
ls.sort() #排序
print(ls) #打印:[1, 2, 3]
# 列表长度
print(len(ls)) #打印:3
# 列表中的最大值
print(max(ls)) #打印:3
# 列表中的最小值
print(min(ls)) #打印:1
# 列表求合
print(sum(ls)) #打印:6
注意事项
#列表的复制
ls1 = [1,2,3]
ls2 = ls1 #通过等号复制
ls3 = ls1[:] #通过切片复制
print(ls1) #打印:[1, 2, 3]
print(ls2) #打印:[1, 2, 3]
print(ls3) #打印:[1, 2, 3]
print(ls1.pop()) #修改ls1会同步影响ls2
print(ls1) #打印:[1, 2]
print(ls2) #打印:[1, 2]
print(ls3) #打印:[1, 2, 3]
tuple 元祖
这玩意就是一个被加入限制的列表,只能放同类型的值,且不可修改,只能重新定义。
字符串就是通过元祖来实现的
基本用法
tp = (1,2,3)
print(tp) #打印:(1, 2, 3)
print(type(tp)) #打印:<class 'tuple'>
tp = 1,2,3
print(tp) #打印:(1, 2, 3)
print(type(tp)) #打印:<class 'tuple'>
tp = ()
print(type(tp)) #打印:<class 'tuple'>
#注意只有一个值的时候需要在后面加个逗号,不然就给成整数了
tp = (1)
print(type(tp)) #打印:<class 'int'>
tp =(1,)
print(type(tp)) #打印:<class 'tuple'>
注意事项
#非要修改元祖
tp = (1,3,4)
tp = tp[:1]+(2,)+tp[1:]
print(tp) #打印:(1, 2, 3, 4)
str 字符串
在python中没有字符定义,单个字符则等于一个长度为1的字符串。
基本用法
str1 = 'hello wolrd!'
print(str1)
print(len(str1))
print(str1.capitalize()) #把第一个字符改为大写
print(str1.find('w')) #查找第一个w出现的位置
print(str1.replace('hello','hi')) #替换指定内容
str1 = ' a b c d '
print(str1.strip()) #删除前后空格
format() 格式化方法
# 位置参数;逐一替换
msg = "{0}B{1}D{2}F..."
print(msg.format("A","C","E")) #打印:ABCDEF...
# 关键字参数;根据参数名称替换
msg = "{某某}爱{谁}!"
print(msg.format(某某="我",谁="你")) #打印:我爱你!
# 打印大括号怎么办
msg = "大括号在此:{{}},大括号再此:{0}"
print(msg.format("{}"))
格式化符号
符合 | 说明 |
---|---|
%c | ASCII码 |
%s | 字符串 |
%d | 整数 |
%o | 八进制 |
%x | 十六进制 |
%X | 十六进制(大写) |
%f | 定点数,可指定精度 |
%e | 科学计数法 |
%E | 科学计数法化定点数 |
%g | 自动使用%f或%e |
%G | 自动使用%f或%E |
# ASCII码
print("%c %c %c" %(97,98,99)) #打印:a b c
# 字符串
print("%s %s %s" %("a","b","c")) #打印:a b c
# 整数
print("%d %d %d" %(1,2,3)) #打印:1 2 3
# 八进制
print("%o %d" %(10,10)) #打印:12 10
# 十六进制
print("%x %d" %(11,11)) #打印:b 10
# 十六进制(大写)
print("%X %d" %(11,11)) #打印:B 10
# 定点数,可指定精度
print("{0:.3f}".format(1.23456789)) #打印:1.235
print("%f" % 1.23456789) #打印:1.234568
# 科学计数法
print("%e" % 1.23456789) #打印:1.234568e+00
# 科学计数法(大写)
print("%E" % 1.23456789) #打印:1.234568E+00
格式化辅助指令
符号 | 说明 |
---|---|
m.n | m及最小宽度,n及小数点位数 |
- | 左对齐(不指定及为右对齐) |
+ | 显示正数的加号 |
# | 在八进制前显示‘0o’,在十六进制前显示‘0x’或‘0X’ |
0 | 使用‘0’填充前面的空格 |
# 指定保留3位小数
print("{0:.3f}".format(1.23456789)) #打印:1.235
print("%.3f" % 1.23456789) #打印:1.235
# 指定宽度为10,保留3位小数
print("%10.3f" % 1.23456789) #打印: 1.235
print("%+10.3f" % 1.23456789) #打印: +1.235
print("%010.3f" % 1.23456789) #打印:000001.235
print("%-10.3f" % 1.23456789) #打印:1.235
print("%0-10.3f" % 1.23456789) #打印:1.235
print("%-010.3f" % 1.23456789) #打印:1.235
# 为什么不能用‘0’填充后面呢?5后面加个0就变成50(五十)了。
常用字符串转移符
符合 | 说明 |
---|---|
\n | 换行 |
\0 | 空格 |
… | … |
filter 过滤器
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
# 默认过滤掉列表中为“非”的内容
print(list(filter(None,[1,0,False,True]))) #打印:[1, True]
# 过滤列表中的偶数,返回基数,其中第一个参数为filter的判断条件,第二个参数为原值
print(list(filter(lambda x:x%2,range(10)))) #打印:[1, 3, 5, 7, 9]
- 过滤关键字
bnbh = "黄赌毒"
def sfbh(x):
return not x in bnbh
zfc = "正 规 KTV , 决 绝 黄 赌 毒"
print(list(filter(sfbh,zfc.split())))
#打印:['正', '规', 'KTV', ',', '决', '绝']
gul = ""
for k in list(filter(sfbh,zfc.split())):
gul+=k
print(gul) #打印:正规KTV,决绝
map 映射
# 将列表中的所有值乘以2
print(list(map(lambda x:x*2,range(4)))) #打印:[0, 2, 4, 6]
# 将列表中所有值都加上后缀
print(list(map(lambda x:str(x)+"元",range(4)))) #打印:['0元', '1元', '2元', '3元']
argv
获取在cmd命令窗口行执行脚步时的后面跟着的参数,返回一个列表。
先创建test.py文件:
from sys import argv
first = argv
print(first) #打印:['test.py', 'one', 'two']
在命令窗口进行调用并传参
cd xxx
python test.py one two
6. 文件操作
需要使用open()方法先打开一个文件流。
操作模式
常见模式 | 关键字 | 描述 |
---|---|---|
读取 | r | 只能读取已存在的文件,否则报错 |
覆盖 | w | 文件已存在则情况重写,否则创建 |
追加 | a | 文件不存在则创建,存在则追加 |
文本 | t | 文本模式 |
二进制 | b | 转为二进制 |
叠加 | + | 使用加号叠加模式 |
创建文件
# 设置打开一个文件,写入模式,返回一个文件流
mf = open("mf.txt","w")
# 向文件中写入字符串
mf.write("hello world!")
# 关闭文件
mf.close()
print("已创建文件:mf.txt")
读取文件
- read() 读取整个文件
- readline() 读取一行
# 设置打开一个文件
mf = open("mf.txt")
print(type(mf)) #打印:
zf = mf.read() #获取文件内容,返回字符串
print(len(zf)) #打印:
for i in zf:
print(i,end="\n")
7. 基础库
导入第库
#普通的导入turtle库
import turtle
#导入turtle库并取别名为t
import turtle as t
#导入turtle库的所用成员,通常,应避免这样操作
form turtle import *
random 随机数(必考)
基本用法
import random #导入random库
num = random.random() # 随机浮点数:0<= n < 1.0
print(num) #0.315038353175098
num = random.uniform(3,7) #生成3到7之间的随机浮点数
print(num) #3.499547910722022
num = random.randint(3, 7) #生成3到7之间的随机整数
print(num) #5
num = random.randrange(3, 12, 3) #从指定范围内,按指定基数递增的集合中 获取一个随机数
print(num) #9
ls1 = ls2 = [3,4,5,6,7]
random.shuffle(ls1) #打乱数组
print(ls1) #[3, 6, 7, 4, 5]
ls2 = random.sample(ls2,3) #打乱数组并切片
print(ls2) #[6, 3, 7]
#随机数种子seed()的作用
random.seed(4)
print(random.randint(1,100)) #31
random.seed(4)
print(random.randint(1,100)) #31
random.seed(4)
print(random.randint(1,100)) #31
#由上可见,在同一范围时设置了相同的种子时,可以获取相同斗随机数
print(random.randint(1,100)) #39
turtle 绘图(必考)
是一个简单的绘图工具库,主要通过x轴和y轴来定位画笔,再用角度来控制画笔移动方向。
可以使用它来绘制各种图案,列如画一只猪什么的。
基本用法
用turtle画一个边长为200的红色菱形:
#导入库
import turtle
#设置画板大小
turtle.screensize(400,600)
turtle.fillcolor('red') #设置填充颜色
turtle.begin_fill() #准备开始填充图形
#画一个边长为200像素斗菱形
turtle.right(30) #设置方向
turtle.fd(200) #画200个像素
turtle.right(-60)
turtle.fd(200)
turtle.right(-120)
turtle.fd(200)
turtle.right(-60)
turtle.fd(200)
turtle.end_fill()#填充完成
全局指令
- turtle.clear() 清空窗口
- turtle.reset() 重置窗口
- turtle.undo() 撤销上一步
- turtle.isvisible() 返回是否可见
- turtle.stamp() 复制图形
- turtle.write() 写文本
画笔属性
- turtle.pensize() 设置画笔的宽度,单位是像素
- turtle.pencolor() 设置画笔的颜色,可以用系统定义的颜色或RGB 3元组
- turtle.speed() 设置移动速度,范围0到10的整数
画笔运动指令
指令 | 简写 | 说明 |
---|---|---|
.right(x) | 画笔方向顺时针旋转x度 | |
.left(x) | 画笔方向逆时针旋转x度 | |
.forward(x) | .fd(x) | 向当前画笔方向移动x像素 |
.backward(x) | .bk(x) | 向当前画笔相反方向移动x像素 |
.penup() | .pu() | 将笔抬起 |
.pendown() | .pd() | 将笔落下 |
.goto(x,y) | 将画笔移动到坐标为x,y的位置 | |
.circle(x1,x2,x3) | 画圆,x1为半径,x2度数(可选),x3边数(可选) |
画笔控制指令
- turtle.pensize(width) 绘制图形时的宽度
- turtle.pencolor() 画笔颜色
- turtle.fillcolor(colorstring) 绘制图形的填充颜色
- turtle.color(color1, color2) 同时设置pencolor=color1, *fillcolor=color2
- turtle.filling() 返回当前是否在填充状态
- turtle.begin_fill() 准备开始填充图形
- turtle.end_fill() 填充完成;
- turtle.hideturtle() 隐藏箭头显示;
- turtle.showturtle() 与hideturtle()函数对应
试试手
- 画个红色的五角星:
from turtle import*
color('red','red')
begin_fill()
for i in range(5):
fd(200)
rt(144)
end_fill()
done()
* 画一个太阳☀,熟悉画圆操作:
#导入库
import turtle
#设置画板大小
turtle.screensize(400,600)
turtle.fillcolor('yellow') #设置填充颜色
turtle.begin_fill() #准备开始填充图形
turtle.circle(100,360,8) #画一个8边形状
turtle.end_fill()#填充完成
#移动画笔
turtle.penup()
turtle.goto(0,20)
turtle.pendown()
turtle.fillcolor('gold') #设置填充颜色
turtle.begin_fill() #准备开始填充图形
turtle.circle(80) #画一个半径为80的圆形
turtle.end_fill()#填充完成
time 时间(抽考)
基础用法
- 获取当前时间
import time as t
#获取当前时间戳
print(t.time())
#打印:1600875666.0594018
#获取当前时间字符串
print(t.ctime())
#打印:Wed Sep 23 23:42:15 2020
#获取当前时间对象
print(t.gmtime())
#打印time.struct_time(tm_year=2020, tm_mon=9, tm_mday=23, tm_hour=15, tm_min=42, tm_sec=51, tm_wday=2, tm_yday=267, tm_isdst=0)
- 格式化
import time as t
nt = t.gmtime()
st = t.strftime("%Y-%m-%d %H:%M:%S",nt)
print(st) #打印:2020-09-23 15:47:04
- 格式化符号
格式化字符串 | 日期/时间说明 | 取值范围 |
---|---|---|
%Y | 年份 | 0000~9999 |
%m | 月份(数字) | 01~12 |
%B | 月份(英文全称) | January~December |
%b | 月份(英文缩写) | Jan~Dec |
%d | 日期 | 01~31 |
%A | 星期(英文全称) | Monday~Sunday |
%a | 星期(英文缩写) | Mon~Sun |
%H | 小时(24小时制) | 00~23 |
%I | 小时(12小时制) | 01~12 |
%p | 上/下午 | AM,PM |
%M | 分钟 | 00~59 |
%S | 秒 | 00~59 |
耗时计算
import time as t
st = t.perf_counter()
x = 832432**123+2342**23423
t.sleep(1) #强制进程暂停1秒
et = t.perf_counter()
print("计算共耗时{0:f}".format(et-st))
8. 第三方库
pyhotn没有自带的第三方库,我们可以单独安装后使用。
可在cmd命令窗口中使用pip命令管理第三方库。
#安装xxx库
pip install xxx
- 常用的pip命令
命令 | 说明 |
---|---|
install | 安装 |
uninstall | 卸载 |
list | 已安装库列表 |
PyInstaller 打包(必考)
可以试用Pylnstaller将Python 程序生成可直接运行的可执行文件。
通过cmd命令窗口中的操作。
cd xxx #进入到对应的文件夹
PyInstaller -F test.py
#在当前文件夹中打开dist文件夹即可发现exe文件
- 设置可执行文件的图标
cd xxx #进入到对应的文件夹
PyInstaller -i logo.ico test.py
jieba 中文分词库(必考)
对中文进行分词,多用于文章内容统计操作。
- 基础用法
import jieba
yj="全国计算机等级考试"
#精准模式
fc = jieba.lcut(yj)
print(fc) #打印:['全国', '计算机', '等级', '考试']
#全模块式,分得更细
fc = jieba.lcut(yj,cut_all=True)
print(fc) #打印:['全国', '国计', '计算', '计算机', '算机', '等级', '考试']
#设置词语
jieba.add_word("等级考试") #指定“等级考试”为一个单词,不再细分
fc = jieba.lcut(yj)
print(fc) #打印:['全国', '计算机', '等级考试']
五、考试
2020年9月26日,本次考试顺利完成。
考试感受
- 时间基本够用,大多数考生都是在考试结束前的五到二十分钟离场。
- 注意操作要是遇到不会的编程题果断先做下一题,最后再返回来思考。
- 前面十道公共基础题我是真的不会做!这里概念性的内容有时间还是有必要了解一下。
- help()函数可以使用,我英语不行使用help找画圆的方法,找了好久都没找到。
- 画图、文件、分词必出大题,基础学完后需要好好学习一下这三个点。
- 除了相关概念,本次考试的python内本文章基本都已经包含;掌握了本文知识点,离拿证就不远了,再找几道编程题练练手基本就稳了。
- 我本次考试
优秀
是不可能了,选择题部分很多概念题都是蒙的,有两道编程题也没解完,拿证应该没问题。
考试结果
2020年9月(第58次)全国计算机等级考试(NCRE)成绩现已公布,考生可登录中国教育考试网(http://www.neea.edu.cn)查询本次考试成绩及证书信息。
激动人心的时候到了,我赶紧去查了成绩!
…
操操操,翻车了 2333;到底是哪里出了问题呢…
总结了一下,应该是基础选择题部分大意了,出错太多。
然后拿着结果去问老师:这次没考过拿学位证书还有机会吗?
老师回答:太可惜了,没有机会了,不过你可以再发发力去考个研究生!