打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
编程知识 | python计算生态

本笔记主要参考北理工嵩天老师的python基础课视频。我将其整理为三大部分,本文为第二部分内容:
(1)python基础语法
(2)python计算生态
(3)相关应用实例

2.python计算生态

Python计算生态 = 标准库 + 第三方库
标准库:随解释器直接安装到操作系统中的功能模块。
第三方库:需要经过安装才能使用的功能模块。
库Library、包Package、模块Module,统称模块。
库引用与import:


2.1python第三方库安装

python社区:https://pypi.org/
PyPI:Python Package Inndex。检索利用PyPI,找到合适的第三方库。

2.1.1使用pip命令

主要方法,命令行执行,需联网安装,适用于Windows、Mac、Linux等操作系统。
pip install <第三方库>:安装第三方库
pip install -U<第三方库>:更新第三方库
pip unstall <第三方库>:卸载指定第三方库
pip downlooad<第三方库>:下载不安装第三方库
pip show<第三方库>:列出指定第三方库的详细信息
pip search<关键字>:根据关键字在名称和介绍中搜索第三方库
pip list:列出已经安装好的库

2.1.2集成安装方法

anaconda:适合数据计算领域开发。

2.1.3文件安装方法

某些第三方库pip下载后下载后需要编译再安装,若操作系统没有编译环境则安装失败。可以通过http://www.lfd.uci.edu/~gohlke/pythonlibs/直接下载编译后的版本。

2.2详解7个库

2.2.1turtle库

2.2.1.1 turtle的绘图窗体


turtle.setup(width, height, startx, starty)
setup()函数设置窗体大小及位置,不是必须的。后两个参数可选。
举例:

2.2.1.2 turtle空间坐标体系

绝对坐标:


举例:

海龟坐标:
turtle.fd(d)或turtle.forward(d):直线前行距离d,可以是负数。
turtle.circle(r, extent=None):根据半径r绘制excent角度的弧形。圆心在海龟左侧r距离的位置;extent绘制角度默认是360度。

举例:

2.2.1.3 turtle的角度坐标系

绝对角度:
turtle.seth(angle)或turtle.setheading(angle):改变绝对角度。逆时针为正。


海龟角度:
turtle.left(angle),turtle.right(angle):改变海龟视角。

举例:

2.2.1.4 turtle的色彩体系

RGB色彩体系:取值范围0-255整数或者0-1小数。
常用RGB色彩:

可以用turtle.colormode(mode)改变整数(255)表示颜色或者小数(1.0)表示颜色。默认是小数值。

2.2.1.5 turtle画笔控制函数

turtle.penup()或turtle.pu():画笔抬起。
turtle.pendown()或turtle.pd():画笔落下。

turtle.pensize(width)或turtle.width(width):画笔宽度。
turtle.pencolor(color):画笔颜色。color为颜色字符串(如“purple”)或r,g,b值(小数值或元组值)。

2.2.2time库

time库:Python中处理时间的标准库。提供获取系统时间并格式化输出功能。
使用方法:import time
time.()

2.2.2.1 时间获取

time()、ctime()、gmtime()

2.2.2.2 时间格式化

strftime()、strptime()


2.2.2.3 程序计时

sleep()、perf_counter()

2.2.3ramdom库

random库是标准库:import random。(random库包括两类函数,常用共8个,掌握3个-4个即可。)

2.2.3.1 基本随机数函数

seed():初始化给定的随机数种子,默认为当前系统时间,使用种子可以再现随机过程。
随机数种子通过梅森旋转算法产生随机序列,序列中每一个数都是随机数。


random():生成一个[0.0, 1.0)之间的随机小数。

法一:给定随机种子

法二:不给定随机种子
默认种子是当前调用第一次random函数所对应的系统时间。

为什么使用种子?
使用种子再次运行程序产生的随机数也是相同的,方便复现。

2.2.3.2 扩展随机数函数

2.2.4PyInstaller库的使用

PyInstaller可以将.py源代码装换成无需源代码的可执行文件。


使用:

_pycache_和build可以删除掉。

2.2.5jieba库的使用

jieba是中文分词第三方库。jieba库利用中文词库确定汉字之间的关联概率来确定分词,用户也可以添加自定义词组。

2.2.5.1 jieba分词的三种模式

精确模式:把文本精确切分开,无冗余。
全模式:把文本中所有可能的词语扫描出来,有冗余。
搜索引擎模式:在精确模式基础上,对长词语再次切分。

2.2.5.2 jieba库常用函数

2.2.6wordcloud库的使用

wordcloud库是词云展示第三方库。wordcloud库把词云当作一个WordCloud对象。

wordcloud库常规方法:w = wordcloud.WordCloud()

w.generate(txt):向WordCloud对象w中加载文本txt。
w.to_file(filename):将词云输出为图像文件,filename后缀可以用.png或.jpg格式。

wordcloud库配置对象参数:w = wordcloud.WordCloud(<参数>)

width:指定词云对象生成图片的宽度,默认400像素。例w = wordcloud.WordCloud(width = 600)。
height:指定词云对象生成图片的高度,默认200像素。例w = wordcloud.WordCloud(height = 400)。

min_font_size:指定词云中字体最小字号,默认4号。
max_font_size:指定词云中字体最大字号,根据高度自动调节。

font_step:指定词云中字体字号的步进间隔,默认为1。
font_path:指定字体文件路径,默认None。

max_words:指定词云显示最大单词数,默认200。
stop_words:指定词云的排除词列表,即不显示的单词列表。例w = wordcloud.WordCloud(stop_words = {“python”})。

mask:指定词云形状,默认为长方形,需要引用imread()函数。


background_color:指定词云图片的背景颜色,默认为黑色。例w = wordcloud.WordCloud(background_color = “white”)。

2.2.7os库的使用

os库是python标准库。提供了通用的、基本的操作系统交互功能,如常用路径操作、进程管理、环境参数等几类。

2.2.7.1 路径操作

os.path子库,处理文件路径及信息。import os.path as op。
路径操作:
os.path.abspath(path):返回path在当前系统中的绝对路径。
os.path.normpath(path):归一化path的表示形式,统一用\分隔路径。
os.path.relpath(path):返回当前程序与文件之间的相对路径(relative path)。
os.path.dirname(path):返回path中目录名称。
os.path.basename(path):返回path中最后文件名称。
os.path.join(path, *paths):组合path与paths,返回一个路径字符串。
os.path.exists(path):判断path对应文件或者目录是否存在,返回True或False。
os.path.isfile(path):判断path对应文件是否为已存在文件,返回True或者False。
os.path.isdir(path):判断path所对应是否为已存在的目录,返回True或者False。
os.path.getatime(path):返回path对应文件或目录的上一次访问时间。
os.path.getmtime(path):返回path对应文件目录的最近一次修改时间。
os.path.getctime(path):返回path对应文件或目录的创建时间。
os.path.getsize(path):返回path所对应文件大小,以字节为单位。

2.2.7.2 进程管理

使用python调用其他程序,启动系统中其他程序。
os.system(command):执行程序或命令command;在Windows系统中返回值为cmd的调用返回信息。


2.2.7.3 环境参数

获得系统中软件信息等环境参数。
os.chdir(path):修改当前程序的操作路径。
os.getcwd():返回程序当前路径。
os.getloginin():获得当前系统登录用户名。
os.cpu_count():获得当前系统的cpu数量。
os.urandom(n):获得n个字节长度的随机字符串,通常用于加解密运算。

2.3python计算生态概览

2.3.1从数据处理到人工智能

2.3.1.1 python库之数据分析

numpy:C语言实现,速度快。支撑pandas等,提供直接的矩阵运算、广播函数、线性代数等功能。

pandas:基于numpy开发,数据分析高层次应用库。理解数据类型与索引的关系,操作索引即操作数据。
Series = 索引 + 一维数据
DataFrame = 行列索引 + 二维数据

SciPy:基于numpy开发,数学、科学和工程计算功能库。类似于Matlab,可用于如傅里叶变换、信号处理等应用。

2.3.1.2 python库之数据可视化

Matplotlib:基于numpy开发,高质量的二维数据可视化功能库。通过matplotlib.pyplot子库调用各可视化效果。

Seaborn:基于Matplotlib开发,统计类数据可视化功能库。主要展示数据间分布、分类和线性关系等内容。支持numpy和pandas。

Mayavi:三维科学数据可视化功能库。支持numpy、TVTK、Envisage等第三方库。

2.3.1.3 python库之文本处理

PyPDF2:用来处理pdf文件的工具集。支持获取信息、分隔/整合文件、加密解密等。完全python语言实现。

NLTK:自然语言文本处理第三方库。最优秀的python自然语言处理库。支持语言文本分类、标记、语法句法、语义分析等。

2.3.1.4 python库之机器学习

Scikit-learn:机器学习方法工具集。

TensorFlow:谷歌的开源机器学习框架。将数据流图作为基础,图节点代表运算,边代表张量。

MXNet:基于神经网络的深度学习计算框架。可用于自动驾驶、机器翻译、语音识别等众多领域。

2.3.2从web解析到网络空间

2.3.2.1 python库之网络爬虫

Requests:最主要的页面级网络爬虫功能库。提供了类HTTP协议网络爬虫功能,支持连接池、SSL、Cookies、HTTP(S)代理等。

Scrapy:网络爬虫框架。支持批量和定时网页爬取、提取数据处理流程等。

pyspider:网络爬虫类第三方库。提供了完整的网页爬取系统构建功能,支持数据库后端、消息队列、优先级、分布式架构等。

2.3.2.2 python库之web信息提取

Beautiful Soup:(又名beautifulsoup4或bs4)HTML和XML的解析库。常与网络爬虫库搭配使用(如Scrapy、requests等)。

Re:正则表达式解析和处理功能的标准库。可用于各类场景,包括定点的web信息提取。

Python-Goose:web信息提取库。提供了对web页面中文章信息/视频等元数据的提取功能。

2.3.2.3 python库之网络应用开发

Django:web应用框架,略复杂。MTV模式:模型(model)、模板(template)、视图(views)。

Pyramid:web应用框架,规模适中,适合快速构建并适度扩展类应用。

Flask:web应用开发微框架。简单、规模小、快速。Django > Pyramid > Flask好。

WeRoBot:微信公众号开发框架。提供了解析微信服务器消息及反馈消息的功能,建立微信机器人的重要技术手段。

aip:百度AI开放平台接口。可用于语音、人脸、OCR、NLP、知识图谱、图像搜索等领域。

MyQR:二维码生成第三方库。

2.3.3从人机交互到艺术设计

2.3.3.1 python库之图形用户界面

PyQt5:GUI开发第三方库。提供了创建Qt5程序的python API接口,Qt是非常成熟的跨平台桌面应用开发系统,完备GUI。

wxPython:基于numpy开发,跨平台GUI开发框架。理解数据类型与索引的关系,操作索引即操作数据。

PyGObject:使用GTK+开发GUI的功能库。提供了整合GTK+、WebKitGTK+等库的功能。GTK+:跨平台的一种用户图形界面GUI框架。

2.3.3.2 python库之游戏开发

PyGame:简单的游戏开发功能库。提供了基于SDL的简单游戏开发功能及实现引擎,理解游戏对外部输入的响应机制及角色构建和交互机制。
Panda3D:开源、跨平台的3D渲染和游戏开发库。提供python和C++两种接口。由迪士尼和卡基梅隆大学共同开发。
cocos2d:构建2D游戏和图形界面交互式应用的框架。提供了基于OpenGL的游戏开发图形渲染功能,支持GPU加速,采用树形结构分层管理游戏对象类型。

2.3.3.3 python库之虚拟现实

VR Zero:针对树莓派的VR开发库,支持设备小型化,配置简单化。

pyovr:Oculus Rift的python开发接口。

Vizard:基于python的通用VR开发引擎。

2.3.3.4 python库之图形艺术

Quads:迭代的艺术。对图片进行四分迭代,形成像素风,可以生成动图或静图的图像。

ascii_art:ASCII艺术库。将普通图片转为ASCII艺术风格,输出可以是纯文本或彩色文本。可采用图片格式输出。

turtle:海龟绘图体系。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
解决Python词云库wordcloud不显示中文的问题
Python编程新思维(标准库&第三方库)
木舟| Python中常用第三方库 | 《信息技术》(2021版)二次学习微视频005
Python也可以这么“文雅”,用turtle库画一幅高傲的梅花
一 、C#调用Python的使用总结
Python之os库
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服