为什么我喜欢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

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

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

本文来自于medium,原文作者:Erik van Baaren,原文标题:Top 15 Python Packages You Must Try,编译校对:蜂鸟数据。

如果喜欢我们的文章,记得点赞和收藏哦,我们每天都会为大家带来Python,数据科学和量化交易的精品内容。

【关于我们】

蜂鸟数据:国内领先的金融数据API提供商。

蜂鸟数据团队由业界顶尖的数据工程师,数据科学家和宽客组成,我们正努力构建一个强大的金融数据库,并提供API接口,目标是令金融数据开源化和平民化。

浏览并测试我们接口吧,目前覆盖股票,外汇,商品期货,数字货币和宏观经济领域,包括实时报价(tick)和历史数据(分钟),提供REST API和Websocket两种接入方式,能够满足金融分析师,量化交易和理财app的需求。

需要金融数据?利用蜂鸟API将数据整合到您的应用

如果您准备好了,请登录蜂鸟官网,注册免费获取API密钥,然后开始探索我们的金融数据库吧。

错过这15个顶级Python库,你就不算Python程序员相关推荐

  1. python培训出来的有公司要吗-参加Python培训到底需要学什么?好程序员

    原标题:参加Python培训到底需要学什么?好程序员 参加Python培训到底需要学什么?好程序员,参加Python培训到底需要学什么?在选择靠谱的北京Python工程师培训之前,你自己也要对Pyth ...

  2. 上有程序员删库跑路,这次是程序员锁死服务器,600万打水漂,创始人负债数百万!

    据说一家游戏公司做了两年的游戏,在上线测试当天,被一个员工锁死服务器和电脑,最终项目失败,600万投入付之东流,创始人负债数百万. 从微薄大V"首席内幕官"晒出的信息显示,这家游戏 ...

  3. 离职当天,删库跑路,京东到家程序员被判刑

    上面这个公号「涩郎」,是我的一个备用号,为了防止万一哪天大号失联,平时一周我也会发三篇左右的我的思考,读书笔记,认知感悟等文章,带领大家一起探索精神与财务自由之路. 大家好,我是校长. 昨天又有一条关 ...

  4. python相关职业-浅谈Python全栈开发工程师,让程序员都眼红的职业!

    原标题:浅谈Python全栈开发工程师,让程序员都眼红的职业! Python Python 的排名从去年开始就借助人工智能与独特的魅力持续上升,现在它已经成为了第一名. 与其它编程语言相比所占的优势 ...

  5. python库开源网站_开源Python库

    开源Python库 Python 一个很受人欢迎的原因之一是其有很丰富的第三方库,到本文开始写的时候已经在 PyPI 上有108298个第三方包提供.有人还对第三方库做了很好的总结 Awesome P ...

  6. python在哪里写代码比较适合-程序员面试被要求手写代码,你与顶级程序员的差别在哪?...

    原标题:程序员面试被要求手写代码,你与顶级程序员的差别在哪? 前言: Python现在非常火,语法简单而且功能强大,很多同学都想学Python! 所以小的给各位看官们准备了收藏已久的视频教程分享给大家 ...

  7. python库_计算机二级教程 Python语言程序设计,第10章python第三方库概览

    第十章学习知识导图 考点主要是: 1) 第三方库的获取和安装 2) 脚本程序转变为可执行程序的第三方库 : PyInstaller库(必选) 3) 第三方库: jieba库(必选).wordcloud ...

  8. 黑马程序员python笔记_#华为云·寻找黑马程序员# 如何实现一个优雅的Python的Json序列化库...

    [小宅按]在Python的世界里,将一个对象以json格式进行序列化或反序列化一直是一个问题.Python标准库里面提供了json序列化的工具,我们可以简单的用json.dumps来将一个对象序列化. ...

  9. Python库大全(涵盖了Python应用的方方面面),建议收藏留用!

    学Python,想必大家都是从爬虫开始的吧.毕竟网上类似的资源很丰富,开源项目也非常多. Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 当我们在浏览器中输入一个url后回车,后台会发生 ...

最新文章

  1. Angualr6表单提交验证并跳转
  2. os.clock()导致的bug
  3. 152. Leetcode 剑指 Offer 14- II. 剪绳子 II (贪心算法-基础题目)
  4. TF之TFSlim:利用经典VGG16模型(InceptionV3)在ImageNet数据集基础上训练自己的五个图像类别数据集的训练过程记录
  5. Iphone代码创建视图
  6. CV新赛事:密集场景行人检测
  7. 计算机视觉论文-2021-06-09
  8. 二叉搜索树(排序二叉树)
  9. [转载] 柯受良-柯受良飞跃黄河
  10. php转png在线转换,png转ico在线工具
  11. 【爱心】JAVA表白代码——属于程序员的浪漫
  12. 基于WiFi的Android局域网即时通讯软件——Android源码
  13. linux没有cpufreq目录,linux cpufreq framework(1)_概述
  14. 浅谈SAP顾问未来十年在中国的发展前景
  15. C语言---移盘子----Hanoi(汉诺)塔问题,显示移动盘子的步骤
  16. Elastic Stack核心技术实战01--Elasticsearch环境搭建与基础入门
  17. 一文搞懂Go语言的plugin
  18. 大数据-玩转数据-hive的安装
  19. 数学分析与高等数学——学习资料(更新.........)
  20. QCustomPlot 1.0.1学习(1)-下载和使用QCustomPlot

热门文章

  1. 边玩游戏边学python_三角函数sin,cos,tan各等于什么边比什么边
  2. 使用天地图API实现导航功能
  3. 英语必修二计算机,人教版高中英语必修二Unit 4教学设计
  4. 【A卡,Windows】stable diffusion webui下载安装避坑指南
  5. linux malloc内存数据结构分析
  6. 【大数据AI人工智能】数据智能到底是什么——企业级 DT 数据智能实践详解
  7. vue,js,html三种文件之间是怎样的关系?
  8. 如何让PDF不可编辑?
  9. JSPatch 尝试
  10. CRect::IntersectRect的功能