python计算机二级忽视点整理
根据2018版计算机二级python考试大纲整理与我个人不熟悉或不懂的地方整理
公共基础部分
看看这位老哥的
公共基础部分点击查看
python语法元素
看看这位老哥的
Python语法元素
python特点
大约是以下几点
- 解释性语言
- 动态类型
- 面向对象
- 高可读性与易学习
format格式输出
'{0:abcdef }'.format(obj0,obj1,)
a 用于填充的单个字符。
b 对齐的方式(<>^分别代表左右中对齐),
c 槽的设定输出宽度。
d 数字的千位分隔符(“,”用逗号表示),适用于整数和浮点数。
e 浮点数小数部分的精度或字符串的最大输出长度。
f 整数类型b,c,d,o,x,浮点数类型e,E,f%。
python 异常处理
try:
<语句> #运行别的代码
except <异常名字>:
<语句> #如果在try部份引发了'name'异常
except <异常名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
finally:
<语句> #该语句中是会被执行
python 向脚本文件中传递参数
import sys
print '参数个数为:', len(sys.argv), '个参数。'
print '参数列表:', str(sys.argv)
函数的参数传递
必选参数
默认参数
设置默认参数时注意事项:必选参数在前,默认参数在后
默认参数必须指向不变对象!!!原因是:函数在定义时,默认参数地址已经确定,每次调用该函数时,如果改变了L的内容,则下次调用时,默认参数的内容就会改变
可选参数
def calc(*numbers):
sum=0
for n in numbers:
sum= sum+n*n
return sum
可变参数:就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个
如何调用一个list或者tuple,可以如上所示,在list或tuple前面加上一个*号,把list或tuple的元素变成可变参数传进去
关键字参数
允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装成一个dict
使用**表示关键字参数
def person(name,age,**kw):
print('name:',name,'age:',age,'other:',kw)
person('Frank','37')
person('Frank','37',city='Shanghai')
person('Frank','37',gender='M',job='Engineer')
python list
list=[]
#删除第1个元素
del list[0]
# 列表的重复
['Hi!'] * 2
# output>['Hi!','Hi!']
#列表的拼接
>>> squares = [1, 4, 9, 16, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# 元素出现次数统计
list.count(obj)
# list.index(obj)
# 从列表中找出某个值第一个匹配项的索引位置
list.pop([index=-1])
#移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)
# 移除列表中某个值的第一个匹配项
list.reverse()
# 反向列表中元素
list.clear()
# 清空列表
list.copy()
# 复制列表
python dict
del dict['Name'] # 删除键 'Name'
dict.clear() # 清空字典
del dict # 删除字典
radiansdict.copy() # 返回一个字典的浅复制
radiansdict.get(key, default=None)#返回指定键的值,如果值不在字典中返回default值
radiansdict.setdefault(key, default=None)#和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
radiansdict.items() #以列表返回可遍历的(键, 值) 元组数组
radiansdict.values()#返回一个迭代器,可以使用 list() 来转换为列表
radiansdict.keys()#返回一个迭代器,可以使用 list() 来转换为列表
popitem()#随机返回并删除字典中的一对键和值(一般删除末尾对)。
dict.fromkeys(seq[, value])# 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
print ("新的字典为 : %s" % str(dict))
>>>新的字典为 : {'age': None, 'name': None, 'sex': None}
dict = dict.fromkeys(seq, 10)
print ("新的字典为 : %s" % str(dict))
>>>新的字典为 : {'age': 10, 'name': 10, 'sex': 10}
python 文件操作
'w' 覆盖写模式,文件不存在则创建,存在则完全覆盖
'x' 创建写模式,文件不存在则创建,存在则返回FileExistError
'a' 追加写模式,文件不存在则创建,存在则在文件最后追加内容
‘b’ 二进制文件形式
't' 文本文件模式,默认值
‘+’ 与r/w/x/a一同使用,在原功能基础上增加同时读写功能
ile.readline([size])#读取整行,包括 "\n" 字符。
file.readlines([sizeint])#读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。
file.seek(offset[, whence])#设置文件当前位置
file.tell()#返回文件当前位置。
file.writelines(sequence)#向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
python csv
import csv
with open('some.csv', 'w') as f:
writer = csv.writer(f)# <class '_csv.writer'> arttr('writerow', 'writerows')
writer.writerows([['1', '2'], ['2', '3'], '3'])
with open('some.csv', 'r+') as f:
reader = csv.reader(f)# <class '_csv.reader'> attrs( line_num)
for row in reader:
print(row) #row is a list
python turtal
import turtle
import time
turtle.screensize(800, 600, 'black',)
# turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。
turtle.pensize(1) # 设置画笔的宽度;
# :没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red", 也可以是RGB 3元组。
turtle.speed(10000) # 设置画笔移动速度,画笔绘制的速度
turtle.pencolor('green')
distance = 200
degree=5
for i in range(0,360,5):
turtle.forward(distance)
turtle.right(i)
turtle.backward(distance)
turtle.pencolor('yellow')
turtle.circle(-100,)
turtle.dot(100)
turtle.pencolor('green')
distance = 100
degree = 20
for i in range(0, 360, 1):
turtle.forward(distance)
turtle.right(i)
turtle.backward(distance)
python random
# 随机整数:
random.randint(1,50)
# 随机选取0到100间的偶数:
random.randrange(0, 101, 2)
# 随机浮点数:
random.random()
random.uniform(1, 10)
# 随机选取字符串:
random.choice(['剪刀', '石头', '布'])
# 多个字符中生成指定数量的随机字符:
random.sample('zyxwvutsrqponmlkjihgfedcba',5)
# 打乱排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
random.shuffle(items)# 无返回值
Pyinstaller
参数 | 含义 |
---|---|
-F | 指定打包后只生成一个exe格式的文件 |
-D | –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项) |
-c | –console, –nowindowed 使用控制台,无界面(默认) |
-w | –windowed, –noconsole 使用窗口,无控制台 |
-p | 添加搜索路径,让其找到对应的库。 |
-i | 改变生成程序的icon图标 |
python jieba
import jieba
s ='''
精确模式,试图将句子最精确地切开,适合文本分析;
全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
'''
seg_list = jieba.cut(s, cut_all=True) # 全模式
print("Full Mode: " + "/ ".join(seg_list))
seg_list = jieba.cut(s, cut_all=False) # 精确模式
print("Default Mode: " + "/ ".join(seg_list))
seg_list = jieba.cut(s) # 默认是精确模式
print(", ".join(seg_list))
seg_list = jieba.cut_for_search(s) # 搜索引擎模式
print(", ".join(seg_list))