Python第三方库纵览

Python第三方库纵览

知识点

  • 更广泛的Python计算生态,只要求了解第三方库的名称,不限于以下领域: 网络爬虫、数据分析、文本处理、数据可视化、用户图形界面、机器学习、Web开发、游戏开发等

知识导图

img

1、网络爬虫方向

  • 网络爬虫是自动进行HTTP访问并捕获HTML页面的程序。Python语言提供了多个具备网络爬虫功能的第三方库。这里,仅介绍2个常用的Python网络爬虫库:requests和scrapy。

1.1 requests

  • requests库是一个简洁且简单的处理HTTP请求的第三方库,它的最大优点是程序编写过程更接近正常URL访问过程。这个库建立在Python语言的urllib3库基础上。request库支持非常丰富的链接访问功能。
  • 安装requests库在Windows的cmd命令行使用如下命令:
:\>pip install requests

1.2 scrapy

  • scrapy是Python开发的一个快速的、高层次的Web获取框架。不同于简单的网络爬虫功能,scrapy框架本身包含了成熟网络爬虫系统所应该具有的部分共用功能,
  • scrapy用途广泛,可以应用于专业爬虫系统的构建、数据挖掘、网络监控和自动化测试等领域。
  • 安装scrapy库在Windows的cmd命令行使用如下命令:
:\>pip install scrapy

2、数据分析方向

数据分析是Python的一个优势方向,具有大批高质量的第三方库。这里仅介绍3个最常用的生态库:numpy、scipy和pandas。

2.1 numpy

  • numpy是Python的一种开源数值计算扩展第三方库,用于处理数据类型相同的多维数组(ndarray),简称“数组”。
  • 这个库可用来存储和处理大型矩阵,比Python语言提供的列表结构要高效的多。numpy提供了许多高级的数值编程工具,如:矩阵运算、矢量处理、N维数据变换等。
  • numpy内部是C语言编写,对外采用Python语言进行封装,因此,在进行数据运算时,基于numpy的Python程序可以达到接近C语言的处理速度。numpy也成为Python数据分析方向各其他库的基础依赖库,已经成为了科学计算事实上的“标准库”。
  • 安装numpy库在Windows的cmd命令行使用如下命令:
:\>pip install numpy

2.2 scipy

  • scipy是一款方便、易于使用、专为科学和工程设计的Python工具包。在numpy库的基础上增加了众多的数学、科学以及工程计算中常用的库函数。它包括统计、优化、整合、线性代数、傅里叶变换、信号分析、图像处理、常微分方程求解等众多模块。
  • 安装scipy库在Windows的cmd命令行使用如下命令:
:\>pip install scipy

2.3 pandas

  • pandas是基于numpy扩展的一个重要第三方库,它是为了解决数据分析任务而创建的。Pandas提供了一批标准的数据模型和大量快速便捷处理数据的函数和方法,提供了高效地操作大型数据集所需的工具。
  • pandas 提供两种最基本的数据类型:Series和DataFrame,分别代表一维数组和二维数组类型。
  • 安装pandas库在Windows的cmd命令行使用如下命令:
:\>pip install pandas

3、文本处理方向

  • Python语言非常适合处理文本,因此,在这个方向也形成了大量有价值的第三方库。这里介绍4个最常用的生态库:pdfminer、openpyxl、python-docx、beautifulsoup4。

3.1 pdfminer

  • pdfminer是一个可以从PDF文档中提取各类信息的第三方库。与其他PDF相关的工具不同,它能够完全获取并分析P D F 的文本数据。Pdfminer能够获取PDF中文本的准确位置、字体、行数等信息,能够将PDF文件转换为HTML及文本格式。
  • pdfminer包含两个重要的工具: pdf2txt.py 和dumppdf.py。
  • pdf2txt.py能够从PDF文件中提取所有文本内容。dumppdf.py能够把PDF文件内容变成XML格式,并进一步提取其中的图片。
  • 安装pdfminer库在Windows的cmd命令行使用如下命令:
:\>pip install pdfminer

3.2 openpyxl

  • openpyxl是一个处理Microsoft Excel文档的Python第三方库,它支持读写Excel的xls、xlsx、xlsm、xltx、xltm等格式文件,并进一步能处理Excel文件中excel工作表、表单和数据单元。
  • 安装openpyxl库在Windows的cmd命令行使用如下命令:
:\>pip install openpyxl

3.3 python-docx

  • python-docx是一个处理Microsoft Word文档的Python第三方库,它支持读取、查询以及修改doc、docx等格式文件,并能够对Word常见样式进行编程设置,包括:字符样式、段落样式、表格样式等,进一步可以使用这个库实现添加和修改文本、图像、样式和文档等功能。
  • 安装python-docx库在Windows的cmd命令行使用如下命令:
:\>pip install python-docx

3.4 beautifulsoup4

  • beautifulsoup4库,也称为Beautiful Soup库或bs4库,用于解析和处理HTML和XML。需要注意,它不是BeautifulSoup库。它的最大优点是能根据HTML和XML语法建立解析树,进而高效解析其中的内容。
  • beautifulsoup4库将数据从HTML和XML文件中解析出来,它能够提供一种符合习惯的方法去遍历搜索和修改解析树,将专业的Web页面格式解析部分封装成函数,提供了若干有用且便捷的处理函数。
  • 安装beautifulsoup4库在Windows的cmd命令行使用如下命令:
:\>pip install beautifulsoup4

4、数据可视化方向

4.1 数据可视化

  • 数据可视化指根据数据特点将其展示为易于理解图形的过程。Python语言在数据可视化方面具有较强的优势。这里介绍3个最常用的生态库:matplotlib、TVTK、mayavi。

4.2 matplotib

  • matplotlib是提供数据绘图功能的第三方库,主要进行二维图表数据展示,广泛用于科学计算的数据可视化。使用这个库可以利用Python程序绘制超过100种数据可视化效果。
  • 安装matplotlib库在Windows的cmd命令行使用如下命令:
:\>pip install matplotlib

4.3 TVTK

  • TVTK库在标准的VTK库之上用Traits库进行封装的Python第三方库。视觉工具函数库(VTK)是一个开源、跨平台、支持平行处理的图形应用函数库,它是专业可编程的三维可视化工具。TVTK在Python生态系统中被等同于VTK。
  • 安装matplotlib库在Windows的cmd命令行使用如下命令:
:\>pip install vtk
  • mayavi基于VTK开发,完全用Python编写,提供了一个更为方便实用的可视化软件,可以简洁地嵌入到用户编写的Python程序中,或者直接使用其面向脚本的API快速绘制三维可视化图形。值得注意的是,mayavi也被称为mayavi2。
  • mayavi库在Windows平台上暂时不能方便的使用pip命令安装,建议使用文件安装,请下载mayavi对应版本文件,然后在本地安装。

5、用户图形界面方向

  • Python标准库内置了一个GUI库——tkinter,这个库基于Tck/Tk开发,然而,这个库十分陈旧,提供的开发控件也很有限,编写出来的GUI风格与现代程序GUI风格相差甚远,从用户体验角度说,tkinter库并不成熟。
  • 这里介绍3个高质量的用户图形界面Python生态库:pyqt5、wxpython、pygtk。

5.1 pyqt5

  • pyqt5是Qt5应用框架的Python第三方库,它有超过6 2 0个类和近6 0 0 0个函数和方法。它是Python中最为成熟的商业级GUI第三方库。这个库是Python语言当前最好的GUI第三方库,它可以在Windows、Linux和Mac OS X等操作系统上跨平台使用。
  • pyqt5采用“信号-槽”机制将事件和对应的处理程序进行绑定。pyqt5窗体有很多内置信号,也可以自定义信号。
  • 安装pyqt5库在Windows的cmd命令行使用如下命令:
:\>pip install pyqt5

5.2 wxpython

wxPython是Python语言的一套优秀的GUI图形库,它是跨平台GUI库wxWidgets的Python封装,可以使Python程序员能够轻松地创建健壮可靠、功能强大的图形用户界面的程序。

安装wxpython库在Windows的cmd命令行使用如下命令:

:\>pip install wxpython

5.3 pygtk

  • pygtk是基于GTK+的Python语言封装,它提供了各式的可视元素和功能,能够轻松创建具有图形用户界面的程序。pygtk具有跨平台性,利用它编写的代码能够不加修改地稳定运行在各操作系统中,如Windows、MacOS、Linux等。
  • 安装wxpython库在Windows的cmd命令行使用如下命令:
:\>pip install pygtk

6、机器学习方向

机器学习是人工智能领域的一个重要分支,Python语言也是机器学习和人工智能的重要基础语言。这里介绍3个高质量的机器学习框架: Scikit-learn、TensorFlow、Theano。

6.1 Scikit-learn

  • Scikit-learn是一个简单且高效的数据挖掘和数据分析工具,它基于NumPy、SciPy和matplotlib构建。Scikitlearn的基本功能主要包括6个部分:分类,回归,聚类,数据降维,模型选择和数据预处理。Scikit-learn也被称为sklearn。
  • 安装Scikit-learn库在Windows的cmd命令行使用如下命令:
:\>pip install scikit-learn

6.2 Tensorflow

  • TensorFlow是谷歌公司基于DistBelief进行研发的第二代人工智能学习系统,也是用来支撑著名的AlphaGo系统的后台框架。Tensor(张量)指N维数组,Flow(流)指基于数据流图的计算,TensorFlow描述张量从流图的一端流动到另一端的计算过程。
  • 安装TensorFlow库在Windows的cmd命令行使用如下命令:
:\>pip install tensorflow

6.3 Theano

  • Theano为执行深度学习中大规模神经网络算法的运算而设计,擅长处理多维数组。Theano开发始于2007,可以理解它是一个运算数学表达式的编译器,并可以高效运行在GPU或CPU上。Theano是一个偏向底层开发的库,更像一个研究平台而非单纯的深度学习库。
  • 安装Theano库在Windows的cmd命令行使用如下命令:
:\>pip install theano

7、Web开发方向

  • Web开发是Python语言流行的一个重要方向,主要用于服务器后端开发。根据Python Web开发框架的复杂程度,这里依次介绍3个Python第三方生态库:Django、Pyramid、Flask。

7.1 Django

  • Django是Python生态中最流行的开源Web应用框架。Django采用模型、模板和视图的编写模式,称为MTV模式。Django中提供了开发网站经常用到的模块,Django的开发理念是DRY(Don’t Repeat Yourself),用于鼓励快速开发,进而减少程序员可以建立一个高性能Web应用所花费的时间和精力,形成一种一站式解决方案。
  • 安装Django库在Windows的cmd命令行使用如下命令:
:\>pip install django

7.2 Pyramid

  • Pyramid是一个通用、开源的Python Web应用程序开发框架。它主要的目的是让Python开发者更简单的创建Web应用,相比Django,Pyramid是一个相对小巧、快速、灵活的开源Python Web框架。Pyramid仍然面向较大规模的Web应用,但它更关注灵活性,开发者可以灵活选择所使用的数据库、模板风格、URL结构等内容。
  • 安装Pyramid库在Windows的cmd命令行使用如下命令:
:\>pip install pyramid

7.3 Flask

  • Flask是轻量级Web应用框架,相比Django和Pyramid,它也被称为微框架。使用Flask开发Web应用十分方便,甚至几行代码即可建立一个小型网站。Flask核心十分简单,并不直接包含诸如数据库访问等的抽象访问层,而是通过扩展模块形式来支持。
  • 安装Flask库在Windows的cmd命令行使用如下命令:
:\>pip install flask

8、游戏开发方向

  • 游戏开发是一个有趣的方向,在游戏逻辑和功能实现层面,Python已经成为重要的支撑性语言。这里介绍3个Python第三方生态库:Pygame、Panda3D、cocos2d。

8.1 Pygame

  • Pygame是在SDL库基础上进行封装的、面向游戏开发入门的Python第三方库,除了制作游戏外,还用于制作多媒体应用程序。其中,SDL(Simple DirectMedia Layer)是开源、跨平台的多媒体开发库,通过OpenGL和Direct3D底层函数提供对音频、键盘、鼠标和图形硬件的简洁访问。
  • Pygame是一个游戏开发框架,提供了大量与游戏相关的底层逻辑和功能支持,非常适合作为入门库理解并实践游戏开发。
  • 安装Pygame库在Windows的cmd命令行使用如下命令:
:\>pip install pygame

8.2 Panda3D

  • Panda3D是一个开源、跨平台的3D渲染和游戏开发库,简答说,它是一个3D游戏引擎,由迪士尼和卡耐基梅隆大学娱乐技术中心共同进行开发。Panda3D支持Python和C++两种语言,但对Python支持更全面。
  • Panda3D支持很多当代先进游戏引擎所支持的特性:法线贴图、光泽贴图、HDR、卡通渲染和线框渲染等。
  • 安装Panda3D库在Windows的cmd命令行使用如下命令:
:\>pip install panda3d

8.3 cocos2d

  • cocos2d是一个构建2D游戏和图形界面交互式应用的框架,它包括C++、JavaScript、Swift、Python等多个版本。cocos2d基于OpenGL进行图形渲染,能够利用GPU进行加速。cocos2d引擎采用树形结构来管理游戏对象,一个游戏划分为不同场景,一个场景又分为不同层,每个层处理并响应用户事件。
  • 安装cocos2d库在Windows的cmd命令行使用如下命令:
:\>pip install cocos2d

9、更多第三方库

  • Python语言有超过12万个第三方库,覆盖信息技术几乎所有领域。即使在每个方向,也会有大量的专业人员开发多个第三方库来给出具体设计。除了本章所提到的方向外,这里再列出5个有趣且有用的Python第三方库,展示Python在工程实践方面强大的魅力。

9.1 PIL

  • PIL库是Python语言在图像处理方面的重要第三方库,支持图像存储、显示和处理,它能够处理几乎所有图片格式,可以完成对图像的缩放、剪裁、叠加以及向图像添加线条、图像和文字等操作。
  • PIL库主要可以完成图像归档和图像处理两方面功能需求:

图像归档:对图像进行批处理、生成图像预览等。

图像处理:图像基本处理、像素处理、颜色处理等。

  • 安装PIL库在Windows的cmd命令行使用如下命令:
:\>pip install pillow

9.2 SymPy

  • SymPy是一个支持符号计算的Python第三方库,它是一个全功能的计算机代数系统。SymPy代码简洁、易于理解,支持符号计算、高精度计算、模式匹配、绘图、解方程、微积分、组合数学、离散数学、几何学、概率与统计、物理学等领域计算和应用。
  • 安装SymPy库在Windows的cmd命令行使用如下命令:
:\>pip install sympy

9.3 NLTK

  • NLTK是一个非常重要的自然语言处理Python第三方库,它支持多种语言,尤其对中文支持良好。NLTK可以进行语料处理、文本统计、内容理解、情感分析等多种应用,具备非常可靠的应用价值。
  • 安装NLTK库在Windows的cmd命令行使用如下命令:
:\>pip install nltk

9.4 WeRoBot

  • WeRoBot 是一个微信公众号开发框架,也称为的微信机器人框架。WeRoBot可以解析微信服务器发来的消息,并将消息转换成成Message或者Event类型。
  • 安装WeRoBot库在Windows的cmd命令行使用如下命令:
:\>pip install werobot

9.5 MyQR

  • MyQR是一个能够产生基本二维码、艺术二维码和动态效果二维码的Python第三方库。下图给出了一些MyQR生成二维码的实例。

img

  • 安装MyQR库在Windows的cmd命令行使用如下命令:
:\>pip install myqr

小结

本专题通过8个具体方向30个Python功能库的简要介绍纵览Python语言计算生态的丰富性,希望读者能够从Python基础语法出发,看到更广阔的程序设计生态,进一步“理解和运用计算生态”,掌握符合信息时代需要的程序设计能力。


### 9.5 MyQR

- MyQR是一个能够产生基本二维码、艺术二维码和动态效果二维码的Python第三方库。下图给出了一些MyQR生成二维码的实例。

[外链图片转存中...(img-CctoZeuy-1693103186997)]

- 安装MyQR库在Windows的cmd命令行使用如下命令:

:>pip install myqr


# 小结

本专题通过8个具体方向30个Python功能库的简要介绍纵览Python语言计算生态的丰富性,希望读者能够从Python基础语法出发,看到更广阔的程序设计生态,进一步“理解和运用计算生态”,掌握符合信息时代需要的程序设计能力。

国家计算机等级考试不仅仅是一场考试,更是检验能力提升的手段,加油!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/92966.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

spring boot 项目整合 websocket

1.业务背景 负责的项目有一个搜索功能,搜索的范围几乎是全表扫,且数据源类型贼多。目前对搜索的数据量量级未知,但肯定不会太少,不仅需要搜索还得点击下载文件。 关于搜索这块类型 众多,未了避免有个别极大数据源影响整…

Maven之高版本的 lombok 和 tomcat 7 插件冲突问题

高版本的 lombok 和 tomcat 7 插件冲突问题 在开发期间,当我们使用 tomcat7-maven-plugin 来作为运行环境运行我们项目使,如果我们项目中使用了 1.16.20 及以上版本的 lombok 包,项目启动时会报错: for annotations org.apache.…

ELK之LogStash介绍及安装配置

一、logstash简介 集中、转换和存储数据 Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。 Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的…

完美解决Ubuntu网络故障,连接异常,IP地址一直显示127.0.0.1

终端输入ifconfig显示虚拟机IP地址为127.0.0.1&#xff0c;具体输出内容如下&#xff1a; wxyubuntu:~$ ifconfig lo: flags73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen …

【VMware】CentOS 设置静态IP(Windows 宿主机)

文章目录 1. 更改网络适配器设置2. 配置虚拟网络编辑器3. 修改 CentOS 网络配置文件4. ping 测试结果 宿主机&#xff1a;Win11 22H2 虚拟机&#xff1a;CentOS-Stream-9-20230612.0 (Minimal) 1. 更改网络适配器设置 Win R&#xff1a;control 打开控制面板 依次点击&#x…

【IMX6ULL驱动开发学习】09.Linux之I2C驱动框架简介和驱动程序模板

参考&#xff1a;Linux之I2C驱动_linux i2c驱动_风间琉璃•的博客-CSDN博客​​​​​​ 目录 一、I2C驱动框架简介 1.1 I2C总线驱动 1.2 I2C设备驱动 二、I2C总线-设备-驱动模型 2.1 i2c_driver 2.2 i2c_client 2.3 I2C 设备数据收发和处理 三、Linux I2C驱动程序模板…

华为数通方向HCIP-DataCom H12-821题库(单选题:61-80)

第61题 关于 BGP 的Keepalive报文消息的描述,错误的是 A、Keepalive周期性的在两个BGP邻居之间发送 B、Keepalive报文主要用于对等路由器间的运行状态和链路的可用性确认 C、Keepalive 报文只包含一个BGP数据报头 D、缺省情况下,Keepalive 的时间间隔是180s 答案&#xff…

【RISC-V】RISC-V寄存器简介

一、通用寄存器 32位RISC-V体系结构提供32个32位的整型通用寄存器寄存器别名全称说明X0zero零寄存器可做源寄存器(rs)或目标寄存器(rd)X1ra链接寄存器保存函数返回地址X2sp栈指针寄存器指向栈的地址X3gp全局寄存器用于链接器松弛优化X4tp线程寄存器常用于在OS中保存指向进程控…

【安全】原型链污染 - Code-Breaking 2018 Thejs

目录 准备工作 环境搭建 加载项目 复现 代码审计 payload 总结 准备工作 环境搭建 Nodejs BurpSuite 加载项目 项目链接 ① 下载好了cmd切进去 ② 安装这个项目 可以检查一下 ③运行并监听 可以看到已经在3000端口启动了 复现 代码审计 const fs require(fs) cons…

Streamlit 讲解专栏(十一):数据可视化-图表绘制详解(中)

文章目录 1 前言2 绘制交互式散点图3 定制图表主题4 增强数据可视化的交互性与注释步骤1步骤二 5 结语 1 前言 在上一篇博文《 Streamlit 讲解专栏&#xff08;十&#xff09;&#xff1a;数据可视化-图表绘制详解&#xff08;上&#xff09;》中&#xff0c;我们学习了一些关…

开源项目-数据可视化分析平台

哈喽,大家好,今天给大家带来一个开源项目-数据可视化分析平台。项目通过SpringBoot实现 数据可视化分析平台主要有数据源管理,项目管理,数据集管理,图表管理,看板管理等功能 登录 数据源管理 数据源管理功能可以添加MySQL,Oracle,PostgreSQL等类型的数据源信息 项目…

Unity OnDrawGizmos的简单应用 绘制圆形

编辑器和配置表各有各的好。 卡牌游戏即使再复杂&#xff0c;哪怕是梦幻西游&#xff0c;大话西游那种&#xff0c;甚至wow那种&#xff0c;用配表都完全没问题。但是崩坏3&#xff0c;或者鬼泣&#xff0c;格斗游戏&#xff0c;可视化编辑器是唯一的选择。 开发初期刚开始配技…

学习创建第一个 React 项目

目标 本篇的目标是配置好基础的环境并创建出第一个 React 项目。 由于之前没接触过相关的知识&#xff0c;所以还需要了解其依赖的一些概念。 步骤主要参考First React app using create-react-app | VS code | npx | npm - YouTube 0. 简单了解相关概念 JavaScript 一种语…

kali 2023.3新增工具

在终端模拟器中运行 sudo apt update && sudo apt full-upgrade 命令来更新其安装 Kali Linux 2023.3 发布中包含了九个新工具&#xff0c;分别是&#xff1a; Calico&#xff1a;云原生网络和网络安全。 cri-tools&#xff1a;用于Kubelet容器运行时接口的命令行界面…

【马拉车算法/动态规划】最长回文字串

最长回文字串 1.问题描述2.中心扩展法&#xff08;O(N^2)&#xff09;3.动态规划4.Manacher(马拉车算法) 1.问题描述 常用有3种算法&#xff1a;中心扩展法、动态规划和Manacher算法 2.中心扩展法&#xff08;O(N^2)&#xff09; 解释&#xff1a; 从中心向外扩展。 分为两种…

【C++进阶(二)】STL大法--vector的深度剖析以及模拟实现

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; vector 1. 前言2. 熟悉vector的接口函数2.1 vec…

微服务中间件--多级缓存

多级缓存 多级缓存a.JVM进程缓存1) Caffeine2) 案例 b.Lua语法1) 变量和循环2) 条件控制、函数 c.多级缓存1) 安装OpenResty2) 请求参数处理3) 查询Tomcat4) Redis缓存预热5) 查询Redis缓存6) Nginx本地缓存 d.缓存同步1) 数据同步策略2) 安装Canal2.a) 开启MySQL主从2.b) 安装…

【动手学深度学习】--21.锚框

锚框 学习视频&#xff1a;锚框【动手学深度学习v2】 官方笔记&#xff1a;锚框 1.锚框 目标检测算法通常会在输入图像中采样大量的区域&#xff0c;然后判断这些区域中是否包含我们感兴趣的目标&#xff0c;并调整区域边界从而更准确地预测目标的真实边界框&#xff08;gro…

6个最受欢迎的3D点云查看工具【在线/离线】

推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 免费3D点云软件有点像寻找大脚怪… 性质神秘。 模糊的目击。 有些人甚至认为这是民间传说。 但令人惊讶的是&#xff0c;免费的3D点云软件确实存在。 与大脚野人不同的是&#xff0c;我们已经证明了它的存在。 本文将介…

spark中排查Premature EOF: no length prefix available

报错信息 /07/22 10:20:28 WARN DFSClient: Error Recovery for block BP-888461729-172.16.34.148-1397820377004:blk_15089246483_16183344527 in pipeline 172.16.34.64:50010, 172.16.34.223:50010: bad datanode 172.16.34.64:50010 [DataStreamer for file /bdp/data/u9…