目录
证书
为确保该篇文章内容的可靠性,先在此附上本人的二级Python语言程序设计证书加以证实。
⑧Python计算生态
1. 标准库:
(1) turtle库:该库为图形绘制的标准库,其常用功能函数根据类型的不同,有以下三类:
窗体函数:turtle.setup(width,height,startx,starty) | |||
width |
窗体宽度,若值为整数,则为像素值; 若值为小数,则为窗体宽度与屏幕比例。 |
||
height |
窗体高度,若值为整数,则为像素值; 若值为小数,则为窗体高度与屏幕比例。 |
||
startx |
窗体左侧与屏幕左侧的像素值距离, 若值为None,则窗体位于屏幕水平*。 |
||
starty |
窗体顶部与屏幕顶部的像素值距离, 若值为None,则窗体位于屏幕垂直*。 |
||
画笔状态函数:turtle.<函数名><(参数)> | |||
penup() |
提起画笔。 |
pensize() |
画笔粗细。 |
pendown() |
放下画笔。 |
pencolor() |
画笔颜色。 |
画笔运动函数:turtle.<函数名><(参数)> | |||
forward/fd() |
让当前状态的画笔向前绘制至指定距离。 |
||
backward() |
让当前状态的画笔向后绘制至指定距离。 |
||
circle(r,e) |
若有角度参数e,则按半径r绘制一个弧形; 若无角度参数e,则按半径r绘制一个圆形。 |
||
done() |
停止画笔绘制,并且不关闭绘图窗体。 |
||
goto(x,y) |
让当前状态的画笔直线绘制至指定坐标(x,y)。 |
||
seth(angle) |
让当前的方向指向angle角度。 |
||
left(angle) |
让当前的方向向左旋转angle角度。 |
||
right(angle) |
让当前的方向向右旋转angle角度。 |
(2) random库:该库为使用随机数的标准库,采用梅森旋转算法生成伪随机序列。
常用函数: | |
choice() |
在序列类型中随机返回一个元素。 |
getrandbits(k) |
生成一个k比特长度的随机整数。 |
randint(a,b) |
生成一个[a,b]间的随机整数。 |
uniform(a,b) |
生成一个[a,b]间的随机小数。 |
random() |
生成一个[0.0,1.0)间的随机小数。 |
seed() |
改变随机数生成器的种子seed。 |
(3) time库:该库为处理时间的标准库,其常用功能函数根据类型的不同,有以下三类:
时间处理: | ||||||
time() |
以时间浮点数形式返回当前系统时间。 |
|||||
ctime() |
以时间字符串形式返回当前系统时间。 |
|||||
gmtime() |
以国际时间元组形式返回当前系统时间。 |
|||||
localtime() |
以地方时间元组形式返回当前系统时间。 |
|||||
时间格式化: | ||||||
strptime() |
根据指定格式将一个时间字符串转换为时间元组。 |
|||||
年:%Y |
月:%m |
日:%d |
时:%H |
分:%M |
秒:%S |
|
>>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) '2020-10-01 10:10:10' | ||||||
程序计时: | ||||||
sleep() |
暂停指定秒数后再继续执行程序。 |
|||||
2. 基本的Python内置函数。
abs() |
divmod() |
input() |
open() |
slice() |
all() |
eval() |
id() |
ord() |
sorted() |
any() |
exec() |
int() |
pow() |
str() |
bin() |
float() |
len() |
print() |
sum() |
bool() |
format() |
list() |
range() |
tuple() |
chr() |
globals() |
max() |
reversed() |
type() |
complex() |
help() |
min() |
round() |
zip() |
dict() |
hex() |
oct() |
set() |
__import__() |
3. 第三方库的获取和安装。
(a) pip工具安装:pip install <第三方库名>
常用命令: | ||||
help |
show |
search |
download |
uninstall |
帮助 |
显示 |
查找 |
下载 |
卸载 |
(b) 自定义安装
(c) 文件安装
4. 第三方库的使用:
(1) jieba库:该库为中文分词的第三方库,其常用功能函数根据分词需求的不同,有以下三种:
jieba.lcut(ls,cut_all=True) |
全模式:查找出句子中所有可以成词的词语,存在冗余单词。 |
>>> import jieba >>> ls=jieba.lcut("黑糖珍珠奶茶",cut_all=True) >>> print(ls) ['黑糖', '珍珠', '珍珠奶茶', '奶茶'] |
jieba.lcut(ls) |
精确模式:将句子精确切分,没有冗余单词,适合文本分析。 |
>>> import jieba >>> ls=jieba.lcut("黑糖珍珠奶茶") >>> print(ls) ['黑糖', '珍珠奶茶'] |
jieba.lcut_for_search(ls) |
搜索引擎模式:在精确模式的基础上,可以将长词再次切分。 |
>>> import jieba >>> ls=jieba.lcut_for_search("黑糖珍珠奶茶") >>> print(ls) ['黑糖', '珍珠', '奶茶', '珍珠奶茶'] |
注:可以在词库内增加新的单词。
jieba.add_word() |
>>> import jieba >>> jieba.add_word("黑糖珍珠奶茶") >>> ls=jieba.lcut("黑糖珍珠奶茶") >>> print(ls) ['黑糖珍珠奶茶'] |
(2) PyInstaller库:该库为将脚本程序转换为可执行程序的第三方库。
常用参数: | |
--clean |
清理打包过程中生成的临时文件。 |
-h/--help |
显示帮助信息。 |
-i/--icon |
指定打包程序使用的图标文件。 |
-D/--onedir |
生成dist目录,默认值。 |
-F/--onefile |
在dist文件夹中仅生成独立的打包文件。 |
(3) Numpy库:该库为矩阵运算的第三方库,其常用功能函数根据类型的不同,有以下两类:
矩阵创建函数:numpy.<函数名><(参数)> | |
array(x) |
创建一个以参数x为元素的矩阵。 |
ones((m,n)) |
创建一个m行n列的全1元素矩阵。 |
zeros((m,n)) |
创建一个m行n列的全0元素矩阵。 |
empty((m,n)) |
创建一个m行n列的全随机数元素矩阵。 |
hstack((a,b)) |
将矩阵a与b横向拼接成一个新矩阵。 #行数相等。 |
vstack((a,b)) |
将矩阵a与b纵向拼接成一个新矩阵。 #列数相等。 |
矩阵操作函数:np.<函数名> #np为矩阵变量名。 | |
dtype |
判断矩阵np的元素类型。 |
ndim |
求矩阵np的维度。 |
shape |
求矩阵np的行数与列数。 |
size |
求矩阵np的元素个数。 |
5. 更广泛的Python计算生态,只要求了解第三方库的名称,不限于以下领域:
(1) 网络爬虫:
Scrapy |
Pyspider |
Requests |
(2) 数据分析:
SiPcy |
NumPy |
Pandas |
Seaborn |
Matplotlib |
(3) 文本处理:
jieba |
NLTK |
PyPDF2 |
Python-docx |
(4) 数据可视化:
TVTK |
VisPy |
ggplot2 |
Mayavi |
Matplotlib |
(5) 用户图形界面:
PyQt5 |
PyGTK |
wxPython |
(6) 机器学习:
Keras |
MXNet |
Pytorch |
Theano |
TensorFlow |
Scikit-learn |
(7) Web开发:
Flask |
Django |
Pyramid |
Tornado |
(8) 游戏开发:
Cocos2d |
Pygame |
Panda3D |
(9) 更多方向:
PIL |
一个图像处理的第三方库。 |
Redis-Py |
一个数据存储的第三方库。 |
wordcloud |
一个词云生成的第三方库。 |
BeautifulSoup4 |
一个解析HTML与XML的第三方库。 |
OpenCV-Python |
一个图像处理与计算机视觉的第三方库。 |