10个顶级Python实用库推荐


Posted in Python onMarch 04, 2021

为什么我喜欢Python?对于初学者来说,这是一种简单易学的编程语言,另一个原因:大量开箱即用的第三方库,正是23万个由用户提供的软件包使得Python真正强大和流行。

在本文中,我挑选了15个最有用的软件包,介绍它们的功能和特点。

1. Dash

Dash 是一个用于构建基于 Web 的应用程序的 Python 库,无需 JavaScript 。

Dash 同时也是用于创建分析 Web 应用程序的用户界面库。那些使用 Python 进行数据分析、数据挖掘、可视化、建模、仪器控制和报告的人可以立即使用 Dash 。

10个顶级Python实用库推荐

Dash 建立在 Plotly.js、React 和 Flask 之上,将现代 UI 元素(如下拉列表、滑块和图形)与你的分析 Python 代码相结合。

项目地址:

https://github.com/plotly/dash

2. Pillow

Pillow专门用于处理图像,您可以使用该库创建缩略图,在文件格式之间转换,旋转,应用滤镜,显示图像等等。如果您需要对许多图像执行批量操作,这是理想的选择。

为了快速了解它,看以下代码示例(加载并渲染图片):

10个顶级Python实用库推荐

帮助文档:

https://pillow-cn.readthedocs.io/zh_CN/latest/
https://pillow.readthedocs.io/en/stable/

3. Colorama

Colorama允许你在终端使用颜色,非常适合Python脚本,文档简短而有趣,可以在Colorama PyPI页面上找到。

10个顶级Python实用库推荐

项目地址:

github.com/tartley/colorama

4. JmesPath

在Python中使用JSON非常容易,因为JSON在Python字典上的映射非常好。此外,Python带有自己出色的json库,用于解析和创建JSON。对我来说,这是它最好的功能之一。如果我需要使用JSON,可以考虑使用Python。

JMESPath使Python处理JSON更加容易,它允许您明确的地指定如何从JSON文档中提取元素。以下是一些基本示例,可让您对它的功能有所了解:

>>> import jmespath
>>> path = jmespath.search('foo.bar', {'foo': {'bar': 'baz'}})
'baz'

项目地址:

https://github.com/jmespath/jmespath.py

5. Simplejson

Python中的本地json模块有什么问题?没有!实际上,Python的json是simplejson。意思是,Python采用了simplejson的一个版本,并将其合并到每个发行版中。但是使用simplejson具有一些优点:

  • 它适用于更多Python版本。
  • 它比Python随附的版本更新频率更高。
  • 它具有用C编写的(可选)部分,因此非常快速。

由于这些事实,您经常会在使用JSON的脚本中看到以下内容:

10个顶级Python实用库推荐

项目地址:

https://github.com/simplejson/simplejson

Simplejson比json快很多,因为它用C实现一些关键部分。除非您正在处理数百万个JSON文件,否则您不会对这种速度感兴趣。

6. Emoji

Emoji库非常有意思,但并非每个人都喜欢表情包,分析视角媒体数据时,Emoji包非常有用。

10个顶级Python实用库推荐

项目地址:

https://github.com/carpedm20/emoji/

7. 进度条:progress和tqdm

这里有点作弊,因为这是两个包,但忽略其中之一是不公平的。

您可以创建自己的进度条,这也许很有趣,但是使用progress或tqdm程序包更快,更不容易出错。

progress

借助这个软件包,您可以轻松创建进度条:

from progress.bar import Bar

bar = Bar('Processing', max=20)
for i in range(20):
 # Do some work
 bar.next()
bar.finish()

tqdm

tqdm的功能大致相同,但似乎是最新的。

from tqdm import tqdm
for i in tqdm(range(10000)):
 ...

以gif动画形式进行一些演示:

10个顶级Python实用库推荐

8. Homeassistant

home assistant是一个运行在python 3上的家庭自动化平台。它能够在家里对所有设备进行跟踪和控制,为自动化控制提供了一个平台。

10个顶级Python实用库推荐

它现在控制着我们房屋的大部分。我使用Home Assistant将房子中的所有系统捆绑在一起。尽管它确实是一个完整的应用程序,但是您也可以将其安装为Python PyPI软件包。

  • 大多数灯具都是自动化的,百叶窗也是如此。
  • 监视我们的天然气用量,电力用量和产量(太阳能电池板)。
  • 可以跟踪大多数电话的位置,并在进入一个区域时开始操作,例如当我回家时打开车库灯。
  • 它还可以控制我们所有的娱乐系统,例如三星电视和Sonos扬声器。
  • 它能够自动发现网络上的大多数设备,因此上手起来非常容易。

项目地址:

https://github.com/home-assistant/core

9. Python-dateutil

python-dateutil模块提供了对标准datetime模块的强大扩展。

您可以使用此库做很多很棒的事情。比如计算相对增量(下个月,明年,下周一,该月的最后一周等)和两个给定日期对象之间的相对增量。

项目地址:

https://github.com/dateutil/dateutil/

10. Pygame

Pygame 是一组用来开发游戏软件的 Python 程序模块,基于 SDL 库的基础上开发

10个顶级Python实用库推荐

允许你在 Python 程序中创建功能丰富的游戏和多媒体程序,旨在提供对以下内容的低级接口:

  • 音频
  • 键盘
  • 鼠标
  • 游戏杆
  • 基于OpenGL和Direct3D的图形硬件

Pygame具有高度的可移植性,几乎可以在所有平台和操作系统上运行。尽管它具有完善的游戏引擎,但您也可以使用此库直接从Python脚本播放MP3文件。

以上就是10个顶级Python实用库推荐的详细内容,更多关于Python实用库推荐的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
wxPython中文教程入门实例
Jun 09 Python
Python中使用Beautiful Soup库的超详细教程
Apr 30 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
pandas数据分组和聚合操作方法
Apr 11 Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 Python
pygame游戏之旅 创建游戏窗口界面
Nov 20 Python
python批量从es取数据的方法(文档数超过10000)
Dec 27 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
PyQt5实现简易计算器
May 30 Python
django ModelForm修改显示缩略图 imagefield类型的实例
Jul 28 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 Python
pytorch 把图片数据转化成tensor的操作
Mar 04 #Python
pytorch 计算Parameter和FLOP的操作
Mar 04 #Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 #Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 04 #Python
python 求两个向量的顺时针夹角操作
Mar 04 #Python
python 制作磁力搜索工具
Mar 04 #Python
python抢购软件/插件/脚本附完整源码
Mar 04 #Python
You might like
PHP 可阅读随机字符串代码
2010/05/26 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
jQuery获取剪贴板内容的方法
2016/06/16 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
原生js实现验证码功能
2017/03/16 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
Windows下安装python2.7及科学计算套装
2015/03/05 Python
python编写爬虫小程序
2015/05/14 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
德国团购网站:Groupon德国
2018/03/13 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
2015年学校党支部工作总结
2015/04/01 职场文书
python ansible自动化运维工具执行流程
2021/06/24 Python
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS