当前位置: 首页 > news >正文

13 分钟讲解所有知名 Python 库/模块

本内容是对 Every Python Library / Module Explained in 13 Minutes 内容的翻译与整理。


Pygame

Pygame 是一个 Python 模块,可以让你开发视频游戏。当你导入 Pygame 后,通常会从设置屏幕的高度和宽度开始。Pygame 允许你通过代码绘制图形和对象。之后,你可以添加事件监听器,监听键盘按键,从而控制对象在屏幕上的移动。你还可以上传图像和音效,并在游戏中使用它们。它还支持动画和碰撞检测。

人们通常使用 Pygame 来创建 2D 游戏,但在 OpenGL 的帮助下,也可以进行 3D 游戏开发。


TensorFlow

TensorFlow 是一个用于机器学习的 Python 库。它的名称来源于线性代数中的“张量”(tensor),这是它所使用的数学形式。你可以用它来构建人工智能模型,具备图像识别、语音识别、深度学习等能力。你可以从互联网上获取样本训练数据,然后将其导入 Python 项目或 Jupyter Notebook 中,再使用如 Keras 这样的深度学习 API 创建人工神经网络。


PyTorch

PyTorch 是另一个用于构建神经网络的库。与 TensorFlow 不同,PyTorch 更加用户友好,不依赖像 Keras 这样的 API。虽然 TensorFlow 的学习曲线更陡峭,但它也可以进行数据可视化;而 PyTorch 则依赖外部库来完成这一点。使用 PyTorch 构建神经网络非常简单,例如在图像识别中,你可以将每一个像素作为输入层,然后定义多个隐藏层,并指定每个节点使用的激活函数,且代码量非常少。


Tkinter

Tkinter(也称为 Tinker 或 Tkinter) 是一个用于构建图形用户界面的 Python 工具。它自带预设小部件,允许你轻松创建文本框、按钮、菜单等。你还可以使用行和网格来控制程序的外观和布局。它也可以与数据库结合使用,并进行 API 调用。Tkinter 与其他 Python 库(如 Matplotlib)配合使用效果也非常好。基本上,屏幕上你能看到的东西,都可以用 Tkinter 创建。


OpenCV

OpenCV(Open Computer Vision)是一个著名的图像识别库。但图像识别只是它的冰山一角,它在实时对象检测、人脸识别、手部追踪、运动控制、使用 AI 进行物体识别、增强现实等方面表现出色,甚至可以让机器人“看见”。

https://github.com/opencv/opencv 是用C++开发的

https://github.com/opencv/opencv-python 为python版本


NumPy

NumPy(Numerical Python 的缩写)是一个用于科学计算的包,主要用于构建多维数组。那么什么是多维数组呢?在原生 Python 中,你可以使用列表来存储多个信息,比如一个购物清单或数字列表。但把多个项目放在一个列表中,并不意味着它们在内存中是连续存储的。NumPy 确保你输入的数据在内存中是连续排列的。

一个列表是一维数组,如果你使用行而不是列来排列项,就创建了一个网格,这就是多维数组。二维数组被称为矩阵,而超过二维的数组被称为张量。总之,NumPy 让数据和信息的处理更加高效。


Pandas

Pandas 是一个用于数据科学的 Python 库。它允许你通过数据框(DataFrame)来结构化信息。数据框是由行和列组成的表格,有助于组织信息。一个完整的表格是二维数据框,而一列数据则是一维数据框。你可以导入和导出数据,也可以创建 CSV 或 TXT 文件。基本上,只要是与数据处理相关的内容,Pandas 都擅长。Pandas 是建立在 NumPy 之上的。


Kivy

Kivy 是一个用于开发移动应用或其他触屏界面的 Python 框架。Kivy 允许你创建自然用户界面(NUI),不同于图形用户界面,NUI 使用语音命令、触摸手势、眼动、面部识别等方式,不再依赖按钮点击。它使用诸如标签、图像和输入框等小部件。


BeautifulSoup

BeautifulSoup 是一个用于网络爬虫的 Python 模块。它允许你从网站抓取 HTML 元素,并可以筛选要提取的元素类型,比如链接、div 等。


MechanicalSoup

MechanicalSoup 也是一个用于网络爬取的 Python 模块,不过它更适合数据库操作,也可以抓取 HTML 元素。


Selenium

Selenium 同样是一个 Python 网络爬虫工具,但与只抓取 HTML 和 XML 的 BeautifulSoup 不同,Selenium 可以抓取更多 UI 内容,非常适用于动态网站和高度交互性的网站。例如,你可以自动化抓取 Instagram 上的标签、话题或其他内容。

https://github.com/SeleniumHQ/selenium

https://github.com/seleniumbase/SeleniumBase

更多算是自动化测试框架吧


Scrapy

Scrapy 是一个完整的 Python 网络爬虫框架,用于构建网络蜘蛛和机器人。Scrapy 适合大规模网页爬取,不仅可以抓取网站,还能处理抓取的数据。而 BeautifulSoup 只抓取 HTML,Selenium 自动化操作动态网站。


SQLite

SQLite 允许你在 Python 项目中使用 SQL 创建无服务器数据库。你可以建立数据库连接和游标,然后像平常一样写入 SQL 代码,包括创建表、插入、删除、更新和读取数据,它还会自动生成数据库文件。

https://github.com/sqlite/sqlite 原始项目用C开发


Pillow

Pillow 是一个用于图像处理和编辑的 Python 包,是 Python Imaging Library(PIL)的分支。它允许你导入和导出图像,进行图像编辑、绘图、添加滤镜等。虽然看起来只是用于图像编辑,但实际上你也可以在数据科学、AI 和 Web 开发中使用 Pillow。


Matplotlib

Matplotlib 是一个用于数据可视化的 Python 包,可以创建图形、图表和绘图,并进行自定义。它通常与 NumPy 和 Pandas 一起使用,用于探索数据、发现模式、洞察和趋势。


SymPy

SymPy 是一个强大的数学包,用于执行符号运算。它可以做代数、因式分解、解方程,甚至是微积分,比如求导和积分。可以说是功能强大的计算器。


SciPy

SciPy 是一个用于科学计算的 Python 包,包括微积分、线性代数和统计学。它基本上是 NumPy 的增强版。SciPy 用于数值计算,而 SymPy 用于符号运算。


Scikit-learn

Scikit-learn 是一个用于机器学习的库,专注于监督学习和无监督学习。与 TensorFlow 和 PyTorch 主要专注于深度学习不同,Scikit-learn 更适用于通用机器学习。


PyBrain

PyBrain 是一个基于 Python 的强化学习人工智能神经网络库。这个库已不再维护,但在活跃开发时,用于构建神经网络。现在已有更好的替代品,如 TensorFlow 和 PyTorch。


Theano

Theano 是一个用于数值计算的库,适用于深度学习,也已不再维护。它可以进行符号计算,并使用 GPU 提升性能。


NLTK

Natural Language Toolkit(NLTK) 是一个自然语言处理的库。它允许你使用大量单词的训练数据(称为语料库),并进行分词(将词语分开以便训练神经网络)。它还可以实现如 NRS 算法等算法,该算法使用前文单词预测下一个单词。自然语言处理不仅用于 ChatGPT,还用于关键词搜索、搜索建议、广告定位等。


Pickle

Pickle 是用于序列化的 Python 模块。序列化是将 Python 对象(如列表、字典、类等)转换为字节流或一串计算机可读的“0”和“1”。这样可以将信息发送或存储起来,以便之后反序列化回原始数据。

你可以这样理解:想象你用乐高拼了一个飞船,它由很多积木按特定方式拼好。序列化就是记录飞船的每个角度的照片、用到的积木数量和拼装蓝图,然后将这些信息打包成一个盒子。这就是序列化。别人收到后可以按说明书再搭建出来,这就是反序列化。


Pyglet

Pyglet 是一个用于创建游戏的库。它赋予 Python 程序显示图形、播放声音和处理用户输入的能力。你可以用它制作跨平台游戏,它是建立在强大的图形库 OpenGL 之上的。


VPython

Visual Python(VPython) 是一个用于创建 3D 对象的库。它允许你用非常少的代码创建 3D 图像和动画,适合用于物理仿真。


Turtle

Turtle 是一个用于绘画的 Python 库。只需极少的代码就能绘制出螺旋图案。你也可以用它来创建其他类型的 2D 艺术,如分形图。


RPy

RPy 是一个让你在 Python 项目中使用 R 语言的包。R 是专为统计、数据可视化和数据科学设计的语言,不像通用编程语言那样工作。它通常与 Pandas 等库一起使用。


SpaCy

SpaCy 是一个高级自然语言处理的 Python 库,常用于创建聊天机器人、分析文本中的趋势、提取信息以及语言翻译。它可以将文本分解为单元(称为 token),还能识别名词、动词和形容词,并使用最先进的算法实现高精度。


Bokeh

Bokeh 是一个库,允许你将任何数据结构(如 CSV、JSON 文件,或数据库中的数据)可视化。你可以创建图表、散点图、折线图、柱状图等,常用于股票分析。


Plotly

Plotly 是一个用于创建交互式、视觉美观图表的 Python 库。你可以进行基于网页的可视化,图表高度可自定义。常用于数据科学、金融分析、工程和商业智能。


SQLAlchemy

SQLAlchemy 是一个非常强大且用户友好的库,允许你用 Python 创建关系型数据库。你可以使用 Python 操作数据库和表格,而不是手写 SQL。当然你也可以写原生 SQL。它支持多种数据库,如 PostgreSQL、MySQL、SQLite、Oracle 和 SQL Server。


FastAPI

FastAPI 是一个使用 Python 创建 API 的工具。API(应用程序编程接口)是让两个程序交换信息的一种方式。例如,当你被提示使用 Google 账户登录时,就是在使用 API。


Django

Django 是一个用于创建网站的 Python 框架。它允许你构建网页(称为视图)、创建和管理数据库(称为模型),并实现处理逻辑(称为控制器)。你可以将 Python 嵌入到 HTML 文件中,使网站更具动态性。Django 还自带后台管理面板,提供了从头到尾构建网站所需的一切。


Flask

Flask 是另一个用于构建网站的 Python 框架。与 Django 不同,它更适合小型项目。虽然也可以用 Flask 构建大型项目,但学习曲线更陡峭。


PyWin32

PyWin32 是一个提供对 Windows Win32 API 访问权限的库。它让 Python 程序能在更底层上与 Windows 操作系统交互,包括文件系统、目录、注册表、线程管理、UI 控件操作、自动化任务等。


py2exe

py2exe 允许你将 Python 脚本转换为 Windows 可执行程序(.exe),使其无需安装 Python 即可在 Windows 上运行。


PyQt

PyQt 是 QT 框架的 Python 绑定,允许你用 Python 创建图形用户界面和应用程序。通常要创建类似的程序需要 C++ 或 Java 语言,但 PyQt 让你用 Python 也能开发跨平台应用(Windows、Linux、Mac 和 Android)。你还可以配合 QT Designer 使用,用可视化方式手动设计应用程序,软件会返回模板或 Python 代码,大大缩短开发时间。

相关文章:

  • Linux探秘:驾驭开源,解锁高效能——基础指令
  • 数据仓库是什么?常见问题解答
  • 彭博社聚焦Coinbase数据泄露,CertiK联创顾荣辉警示私钥风险与物理攻击
  • Java从入门到精通 - 案例专题
  • 【RK3588嵌入式图形编程】-Cairo-形状与填充
  • 瑞萨单片机笔记
  • JS 中 var、let、const 的区别联系
  • 奥威BI:打破AI数据分析伪场景,赋能企业真实决策价值
  • CesiumEarth v1.15 更新
  • 虚拟主机:经济便捷的 “云端小屋”
  • MySQL 8.0窗口函数详解
  • Java 09Stream流与File类
  • C++显式声明explicit
  • Android trace presentFence屏幕显示的帧
  • 挖o心得(2)
  • 深入解析Node.js文件系统(fs模块):从基础到进阶实践
  • [创业之路-370]:企业战略管理案例分析-10-战略制定-差距分析的案例之小米
  • 关闭 Ubuntu 20.04 的 GNOME Shell和PulseAudio
  • Java中的工具类Collections和Arrays
  • DataBinding深度解析:从编译原理到抖音级性能优化
  • 秦洪看盘|风格有所转向,赚钱效应减弱
  • 全国首例闭环脊髓神经接口手术在浙江完成,截瘫患者实现自主行走
  • 上影节开幕影片《酱园弄·悬案》,陈可辛执导,章子怡主演
  • 财政部:今年将和住建部选拔第二批20个城市,高质量推进城市更新行动
  • 大巴车高速上撞山致2死2伤,广东肇庆警方通报
  • 秦洪看盘|小市值股领涨,A股交易情绪复苏