15 个让新手爱不释手的 Python 高级库

3D_pygame3D_Pygame_3d_ 由Python语言,基于模块pygame开发的简易3D引擎 立即下载

译者:数据黑客
原文链接:https://medium.com/tech-explained/top-15-python-packages-you-must-try-c6a877ed3cd0

为什么我喜欢 Python ?

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

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

1. Dash

Dash 是比较新的软件包,它是用纯 Python 构建数据可视化 app 的理想选择,因此特别适合处理数据的任何人。Dash 是 Flask,Plotly.js 和 React.js 的混合体。

2. Pygame

Pygame 是 SDL 多媒体库的 Python 装饰器,SDL(Simple DirectMedia Layer)是一个跨平台开发库,旨在提供对以下内容的低级接口:

  • 音频

  • 键盘

  • 鼠标

  • 游戏杆

  • 基于 OpenGL 和 Direct3D 的图形硬件

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

3. Pillow

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

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

4. Colorama

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

5. JmesPath

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

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

6. Requests

Requests建立在世界上下载量最大的Python库urllib3上,它令Web请求变得非常简单,功能强大且用途广泛。

以下代码示例说明requests的使用是多么简单。

Requests可以完成您能想到的所有高级工作,例如:

  • 认证

  • 使用cookie

  • 执行POST,PUT,DELETE等

  • 使用自定义证书

  • 使用会话Session

  • 使用代理

7. Simplejson

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

  • 它适用于更多Python版本。

  • 它比Python随附的版本更新频率更高。

  • 它具有用C编写的(可选)部分,因此非常快速。

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

我将只使用默认的json,除非您特别需要:

  • 速度

  • 标准库中没有的东西

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

8. Emoji

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

以下是简单的代码示例:

9. Chardet

您可以使用chardet模块来检测文件或数据流的字符集。例如,这在分析大量随机文本时很有用。但是,当您不知道字符集是什么时,也可以在处理远程下载的数据时使用它。

10. Python-dateutil

python-dateutil模块提供了对标准datetime模块的强大扩展。我的经验是,常规的Python日期时间功能在哪里结束,而python-dateutil就出现了。

您可以使用此库做很多很棒的事情。我将这些示例限制为我发现特别有用的示例:模糊分析日志文件中的日期,例如:

有关更多功能,请参见完整文档,例如:

  • 计算相对增量(下个月,明年,下周一,该月的最后一周等)和两个给定日期对象之间的相对增量。

  • 使用iCalendar规范的超集,根据重复规则计算日期。

  • tzfile文件(/ etc / localtime,/ usr / share / zoneinfo等)的时区(tzinfo)实现,TZ环境字符串(所有已知格式),iCalendar格式文件,给定范围(在相对增量的帮助下),本地计算机 时区,固定偏移时区,UTC时区和基于Windows注册表的时区。

  • 基于奥尔森数据库的内部最新世界时区信息。

  • 使用Western,Orthodox或Julian算法计算任意一年的复活节周日日期。

11. 进度条:progress和tqdm

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

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

progress

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

img

tqdm

tqdm的功能大致相同,但似乎是最新的。首先以gif动画形式进行一些演示:

12. IPython

我确定您知道Python的交互式外壳,这是运行Python的好方法。但是您也知道IPython shell吗?如果您经常使用交互式外壳程序,但您不了解IPython,则应该检查一下!

增强的IPython shell提供的一些功能包括:

  • 全面的对象自省。

  • 输入历史记录,跨会话持续存在。

  • 在具有自动生成的引用的会话期间缓存输出结果。

  • 制表符补全,默认情况下支持python变量和关键字,文件名和函数关键字的补全。

  • “魔术”命令,用于控制环境并执行许多与IPython或操作系统相关的任务。

  • 会话记录和重新加载。

  • 对pdb调试器和Python分析器的集成访问。

  • IPython的一个鲜为人知的功能:它的体系结构还允许并行和分布式计算。

IPython是Jupyter Notebook的核心,它是一个开放源代码Web应用程序,可让您创建和共享包含实时代码,方程式,可视化效果和叙述文本的文档。

13. Homeassistant

我喜欢家庭自动化。这对我来说是一种嗜好,但我至今仍对此深表歉意,因为它现在控制着我们房屋的大部分。我使用Home Assistant将房子中的所有系统捆绑在一起。尽管它确实是一个完整的应用程序,但是您也可以将其安装为Python PyPI软件包。

  • 我们的大多数灯具都是自动化的,百叶窗也是如此。

  • 我监视我们的天然气用量,电力用量和产量(太阳能电池板)。

  • 我可以跟踪大多数电话的位置,并在进入一个区域时开始操作,例如当我回家时打开车库灯。

  • 它还可以控制我们所有的娱乐系统,例如三星电视和Sonos扬声器。

  • 它能够自动发现网络上的大多数设备,因此上手起来非常容易。

我已经每天使用Home Assistant已有3年了,它仍处于测试阶段,但这是我尝试过的所有平台中最好的平台。它能够集成和控制各种设备和协议,并且都是免费和开源的。

如果您有兴趣将房屋自动化,请确保有机会!如果您想了解更多,请访问他们的官方网站。如果可以,请将其安装在Raspberry Pi上。到目前为止,这是最简单,最安全的入门方法。我将其安装在Docker容器内功能更强大的服务器上。

14. Flask

Flask是我的入门库,用于创建快速的Web服务或简单的网站。这是一个微框架,这意味着Flask旨在使核心保持简单但可扩展。有700多个官方和社区扩展。

如果您知道自己将开发一个大型的Web应用程序,则可能需要研究一个更完整的框架。该类别中最受欢迎的是Django。

15. BeautifulSoup

如果您从网站上提取了一些HTML,则需要对其进行解析以获取实际所需的内容。Beautiful Soup是一个Python库,用于从HTML和XML文件中提取数据。它提供了导航,搜索和修改解析树的简单方法。它非常强大,即使损坏了,也能够处理各种HTML。相信我,HTML经常被破坏,所以这是一个非常强大的功能。

它的一些主要功能:

  • Beautiful Soup会自动将传入文档转换为Unicode,将传出文档转换为UTF-8。您无需考虑编码。

  • Beautiful Soup位于流行的Python解析器(如lxml和html5lib)的顶部,使您可以尝试不同的解析策略或提高灵活性。

  • BeautifulSoup会解析您提供的任何内容,并为您做遍历树的工作。您可以将其告诉“查找所有链接”,或“查找带有粗体的表格标题,然后给我该文字。”

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

年度爆款文案

点阅读原文,领廖雪峰大数据视频资料!
数据库和BI工程师面试题  一.数据库 1.Oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的作用? 2.Oracle数据库,有哪几类索引,分别有什么特点? 3.Union与Union All的区别? 4.对游标的理解?游标的分类?使用方法? 5.如何查找和删除表中的重复数据?给出方法或SQL。 6.不借助第三方工具,怎么查看SQL的执行计划? 7.创建索引有哪些需要注意的要点? 阅读详情

相关推荐

树莓派5搭建ROS1开发环境:从系统安装到环境变量配置

本文详细指导如何在树莓派5上搭建ROS1开发环境。针对树莓派OS非标准安装路径导致的常见CMake报错问题,提供了从系统烧录、一键安装ROS到关键环境变量配置的完整解决方案,确保工作空间能成功编译,助力机器人项目开发。

weixin_29159127的博客 385

10个非常有趣的Python库,可以玩上一整天

Python语法简单,功能强大,可以干很多事情,原因就是因为它有强大的库支持,有很多很多现成的轮子可以用,你只要负责搭建应用即可。1. Python假消息生产器这个库叫Faker很有趣,可以创建一个程序来生成虚假数据,如姓名、电子邮件或详细的虚假个人资料,其中包含一个人的所有信息。玩数据分析的时候经常会用到这个库。Faker在github上收获了12800颗星,还是蛮好的一个库。可以pip3 install Faker 在终端使用安装。每次运行这个程序faker generator,都会产生不同的随机数据。

SixStar_FL的博客 8424

dbt+Snowflake实战:数据建模、权限隔离与性能优化全指南

dbt(data build tool)作为现代数据栈的核心建模工具,其与Snowflake的深度协同远不止于SQL编译执行——它本质是将软件工程实践(如版本控制、测试驱动、CI/CD)注入数据交付流程。理解dbt的声明式建模原理与Snowflake的虚拟仓库、Time Travel、TRANSIENT表、聚簇键等底层机制如何咬合,是实现可维护、可审计、低成本数据产品交付的关键。本文聚焦dbt在Snowflake环境中的真实落地挑战,涵盖schema与warehouse的物理映射设计、role级硬隔离策略、

weixin_34389926的博客 315

常用的python的库介绍

是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。Scikit-learn(简称sklearn)是一个用于机器学习的Python库,它包含了许多常用的机器学习算法、预处理技术、模型选择和评估工具等,可以方便地进行数据挖掘和数据分析。Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

m0_51786204的博客 946

Labelme AI-Polygon闪退排查与修复指南

本文详细介绍了Labelme AI-Polygon功能闪退问题的排查与修复方法,包括环境配置检查、模型路径设置、依赖库版本控制等关键步骤。通过系统性的解决方案和实用技巧,帮助用户快速解决闪退问题,确保数据标注工作的高效进行。

weixin_29311017的博客 140

IWR6843ISK+DCA1000EVM 本人遇到的所有报错和解决方案

本文详解了初次使用DCA1000EVM和mmave studio遇到的一系列的问题以及解决方法

2301_77883976的博客 3313

python常用库介绍

python常用库介绍 功能:一个功能强大的全栈 Web 开发框架,提供了许多功能,包括 ORM、模板引擎、表单处理、用户认证等,适合开发大型 Web 应用。功能:基于 matplotlib 的高级可视化库,提供了更美观的图形和更方便的数据可视化功能,尤其适用于统计数据的可视化。功能:一个强大的绘图库,可用于创建各种静态、动态和交互式的图形,如折线图、柱状图、散点图等。

热土程序园,利他愉己~ 3116

工业以太网通讯Profinet协议详解

Profinet是通过西门子控制系统被广泛使用的工业通信协议,是一种较新的,基于以太网的工业通讯协议。

mydatai的专栏 8855

【python】—— 库的基本介绍

库的基本介绍

m0_56069910的博客 3340

【MATLAB例程】三维下的IMM(交互式多模型),模型使用CV(匀速)和CA(匀加速),滤波使用EKF。附完整代码

CV模型:状态包含位置、速度和零加速度(9维状态),状态转移矩阵忽略加速度项CA模型:完整包含位置、速度和加速度(9维状态),状态转移矩阵包含二次项过程噪声矩阵Q分别根据两种模型的运动特性推导。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 561

AMBA-CHI协议详解(五)

 每个事务由许多不同的packets组成,这些数据包通过互连(interconnect)传输。packets内的一组ID域段用于提供有关包的附加信息。

Crazzy_M的博客 1967

【Python基础篇】超全 200 多个 Python 标准库介绍

关于Python标准库 01 众所周知,Python是一个依赖强大的组件库完成对应功能的语言,为了便捷实现各项功能,前辈大牛们打造了多种多样的工具库公开提供给大众使用,而越来越多的库已经因为使用的广泛和普遍及其功能的强大,已经成为Python的标准库。 时至今日,Python 标准库已经非常庞大,所提供的组件涉及范围十分广泛,正如本文后面的内容中所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Python 编写的

那么菜的博客 7855

816华为OD机试真题 新系统 - 电池充电时间计算 (Java/Py/C/C++/Js/Go)

816华为OD机试真题 新系统 - 电池充电时间计算 (Java/Py/C/C++/Js/Go)

算法大师! 475

15个让新手爱不释手的新手 Python 高级库

为什么我喜欢Python?对于初学者来说,这是一种简单易学的编程语言,另一个原因:大量开箱即用的第三方库,正是23万个由用户提供的软件包使得Python真正强大和流行。 在本文中,我挑选了15个最有用的软件包,介绍它们的功能和特点。 1. Dash Dash是比较新的软件包,它是用纯Python构建数据可视化app的理想选择,因此特别适合处理数据的任何人。Dash是Flask,Plotly.js和React.js的混合体。 2. Pygame Pygame是SDL多媒体库的Python装饰器,

pyjishu的博客 397

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

15个让新手爱不释手的Python高级库

为什么我喜欢Python对于初学者来说,这是一种简单易学的编程语言;另一个原因:大量开箱即用的第三方库,正是 23 万个由用户提供的软件包使得Python真正强大和流行。在本文中,我挑选了15个最有用的软件包,介绍它们的功能和特点。1. DashDash是比较新的软件包,它是用纯Python构建数据可视化app的理想选择,因此特别适合处理数据的任何人。Dash是Flask,Plotly.js和React.js的混合体。

Python宋宋的专栏 1658

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

推荐15个Python高级库,让新手爱不释手

对于初学者来说,Python是一种简单易学的编程语言;另一个原因:大量开箱即用的第三方库,正是 23 万个由用户提供的软件包使得 Python 真正强大和流行。在本文中,我挑选了15个最有用的软件包,介绍它们的功能和特点。

m0_59236127的博客 1009

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 是的,我在国企当程序员!
下一篇: 面试官常考的 21 条 Linux 命令
菜鸟学Python
博客等级 码龄9年 8086粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值