无论你现在是否从事Python开发,以后想从事Python,你最好了解一下几个库,它能让你无论是学习,还是职业进阶都有很大帮助。

Python 凭借其易用的特点,已经被工业界和学术界广泛采用。另一方面,Python

丰富的第三方项目——库、附加组件,和辅助的开发成果——使得 Python 语言的应用范围被不断扩大。

其中一些项目,比如 PyInstaller 和 WxPython ,为那些制作桌面应用和终端应用的 Python

开发者提供了便利。其他的项目, 比如 PyPy , 则是用来给服务器端 Python 应用提供额外的动力。还有一些,像 PBR

、CFFI 和 MyPy , 适用于差不多所有五花八门的 Python 应用,无论在什么地方运行。

如果你是一个Python 开发者,所有这六个项目都值得你来熟悉一下。而且所有这些项目都发布了新的主要版本。下面就跟中公优就业一起来看看吧。

一、Python 必备之 PyPy

PyPy 主要用于何处?

如果你需要更快的 Python 应用程序,最简单的实现的方法就是通过 PyPy ,Python

运行时与实时(JIT)编译器。与使用普通的 Python 对等程序相比,使用 PyPy 的 Python

应用程序的运行速度平均提升7.5倍。不幸的是,PyPy 与许多 Python 的明星框架并不是很好地兼容。PyPy 5.9

在解决这个问题上取得了重大进展。

PyPy 5.9 的功能

数据科学框架 NumPy 和 Pandas 现在运行在 PyPy 的 Python 2.7

兼容版本上。这些框架的大部分问题来源于 PyPy 与现有 C 代码的接口。为了解决这个问题,PyPy 5.9 对 CFFI

库(见下文)和 PyPy 的 Python C API 兼容性层进行了改进。

此外,在 5.9 发布版本中,PyPy 的 JSON 解析器在处理多种 JSON

对象,尤其是那些重复使用的相同的词典键值时,明显更快。

二、Python 必备之 CFFI

CFFI 主要用于何处?

C 外部函数接口库(CFFI)为 Python 应用程序与独立 C 库的交互提供了一种机制。虽然 Python 的

stock 版本,CPython,也拥有自己的库来完成此类功能,称为 Ctypes ,但对 Python 用户来说,比起 Ctypes

,CFFI 使得与 C 库的交互更容易、更简便。

CFFI 1.11 的功能

与 PyPy 一起更新的 CFFI v1.11 增加了很小但很有用的改动。现在可以在即将发布的 Python 3.7

上使用betas了,在 Windows 上更好地支持外部错误处理,并支持 C 语言中更多的现代标准类型,例如 float/double

_Complex 和 char16_t和char_32t 类型。最后两个也是最重要的,在 C 库中默认使用 Unicode

编码。

Python 必备之 PyInstaller

PyInstaller 主要用于何处?

关于 Python 的最常见的问题之一是“如何从 Python 脚本中生成独立的可执行文件?” PyInstaller

一直是对此最好的答案之一。

PyInstaller 3.3 的功能

PyInstaller 将 Python

应用程序打包到单目录或单文件的可执行文件中,捆绑任何所需的第三方库,并可与绝大多数常见的库和框架配合使用。

PyInstaller 3.3 中最大的改进是对 Python 3.6 的支持,因为鉴于 Python 3.6

已经发布这确实是必要的

PyInstaller 3.3 还包括一个更广泛兼容的引导加载程序,适用于 Windows

可执行文件,并扩展了对捆绑常见库(如 QT、GTK +、NumPy 和 Django )的支持。

PyInstaller 在不久之后可能添加的一个功能是交叉打包,例如,在 Windows 上创建 Mac

兼容的应用程序。你需要在要部署的同一平台上运行该 PyInstaller ,无论是 Windows、Mac 还是 Linux

三、Python 必备之 Python Build Reasonableness (PBR)

Python PBR 主要用于何处?

Setuptools 是用于打包 Python 项目的标准的 Python 问题子系统。管理特定项目的 Setuptools

可能会变得非常繁琐,特别是在自动生成需求、管理文档文件或编辑项目贡献者数据时。

Python PBR 的功能

PBR, Python Build Reasonableness 的缩写,是以一致的方式用于管理 Setuptools

包的库。它可以自动化许多 Setuptools 打包的设置,例如版本号、生成作者和 ChangeLog 文件,以及生成 Sphinx

风格的文档。PBR 最初是作为 OpenStack 项目的一部分开发的,但现在你所使用 PBR 中维护的内容与 OpenStack

已经没有任何联系了。

四、Python 必备之 WxPython

WxPython 主要用于何处?

想要实现跨平台桌面应用程序的 Python 开发人员可以从多个工具包中进行选择。 WxPython,是 WxWidgets

库的一个封装,使用了其所支持主机平台的原生 UI 元素,包括 Windows、Mac、Linux 和其他类 Unix

操作系统。

WxPython 4.0 的功能

早期版本的 WxPython

被放弃了是由于其传统的设计决策,使其变得越来越慢,而且不太适合使用。为了解决这个问题,WxPython 的开发人员对 WxPython

的 4.0 分支做了重大改变。

目标是允许开发人员更快地上手 WxPython ,并且使通过它创建的框架和应用程序更加高性能和易维护。然而,为了使用

WxPython 4.0 ,任何现有的使用 WxPython 项目都需要修改。

五、Python 必备之 Mypy

Mypy 主要用于何处?

Python

的动态性既是一种福音,也是一种烦恼,对于快速构建软件非常棒,但是当代码难以推理、测试和调试时,并不是很棒。Mypy 在编译时向

Python 添加静态类型检查,使 Python 程序更加一致和可维护,并且不会增加运行时开销。

Mypy 0.530 的功能

Mypy 0.530 添加了不同协议的支持,该协议是用于 Python

子类的目前实验性类型的功能。它还在仅用于包含特定类型的对象的字典中添加 “TypedDict”

类型,并且可以逐个对文件进行更严格的类型检查的选项。

推荐阅读:

python开发效率高吗_提升python开发者工作效率的六个库,你知道几个?相关推荐

  1. python开发的模型部署_使用Python部署机器学习模型的10个实践经验

    以下文章来源于AI公园,作者ronghuaiyang 导读 使用python部署ML项目的一些经验. 有时候,作为数据科学家,我们会忘记公司付钱让我们干什么.我们首先是开发人员,然后是研究人员,然后可 ...

  2. python开发需要学什么_用Python进行web开发需要学习什么?

    匿名用户 1级 2017-08-24 回答 HTML(超文本标记语言)是网页的核心,学好HTML是成为Web开发人员的基本条件.HTML很容易学习的,但也很容易误用,要学精还得费点功夫. 随着HTML ...

  3. python开发酷q插件_基于python和酷Q的QQ机器人开发实践(1)

    基本框架 (1) 酷Q:目前最常用的QQ机器人软件(尤其是在smartQQ失效以后). (2) 酷Q HTTP插件:通过HTTP对酷Q的事件进行上报以及接收HTTP请求来调用酷Q的DLL接口,从而可以 ...

  4. python开发信息系统权限设置_利用Python实现权限设置的详细教程

    一.私有化的实现 在Python中想定义一个类是比较简单的,比如要定义一个Person类,如下代码即可: 当然我们也可以给类添加相应的属性,比如Person的姓名,年龄,性别等,并且在new一个Per ...

  5. python 开发安卓应用商店_用Python爬取各Android市场应用下载量(3分钟学会)

    就是这么简单! 文章目录 前言 设计一个函数 构造要爬取的网址 确定要爬取的内容的位置 构建输入和调用部分 程序完整代码 0 前言 有时候,总有一些重复又琐碎的工作,却不得不做-- 一个个统计,也不是 ...

  6. python从低到高排序_使用python对matplotlib直方图中的xaxis值从最低值到最高值排序...

    我认为既然您已经在使用matplotlib,那么在pandas中进行数据争用也更有意义.在In [101]: JSON = '''[{"first":"A",& ...

  7. 学python编程好就业吗_自学Python编程开发靠谱吗 就业前景怎么样

    人工智能行业学习Python编程到底有多么重要,新人在学习Python的时候改如何选择,就业方向有哪些?想要了解这些,现在我们今天就来看看Python的主要开发领域以及每个岗位对应的薪资. Pytho ...

  8. python开发工具之神兵利器_擅用Python,强推这 7 种 神兵利器!

    君子生非异也,善假于物也. "物"能够延展英雄的能力.它是吕布的赤兔马,杨过的玄铁重剑,CS中的沙漠之.鹰,曹操传中的凤凰羽衣."物"也可用以治愈英雄,例如张无 ...

  9. 抖音python真的那么好吗_用Python在抖音扒了这些高颜值女神后,突然成了人生赢家

    为了刷小姐姐,我死磕了Python 故事的开始是这样的--我是标准的工科男,毕业后做了制造工程师,经常在厂子里,工作环境不太好,压力也挺大,重点是薪资不太高. 休息的时候和工人们在一起,喜欢刷刷抖音, ...

最新文章

  1. Linux-Load Average解析
  2. 基于特征点匹配的自适应目标跟踪算法
  3. 设计模式-扩展-父类对子类的要求
  4. html+not选择器,CSS3属性选择器与(:not)选择器_html/css_WEB-ITnose
  5. clickhouse hadoop_大数据分析之解决Hadoop的短板,实时大数据分析引擎ClickHouse解析...
  6. sessionState 配置方案
  7. 细说ReactiveCocoa的冷信号与热信号(三):怎么处理冷信号与热信号
  8. 我的第一个python web开发框架(6)——第一个Hello World
  9. java_web tomcat服务器的安装与配置
  10. 高等代数(邱维声):高等代数的研究对象
  11. 如何安装nginx并代理下载服务器文件
  12. SpringBoot系列之(二):1.使用SpringBoot
  13. 微信小程序—audio(音频)
  14. 企业邮箱登录入口有哪些?公司邮箱账号怎么登陆更方便
  15. 九种破解Windows XP登录密码的方法
  16. java高级过滤器、baseServlet、log4j配置使用poi实现excel导入数据库
  17. 上班人员必读:“五险一金”详解!
  18. 最强大脑魏郭撕X,理科男与文科生的…
  19. T检验、F检验、卡方检验、互信息法及机器学习应用
  20. 产品经理需求文档(PRD)怎么写?

热门文章

  1. 年底了,游戏大作连连
  2. 在CentOS下安装crontab服务
  3. 5G时代,MPLS WAN如何发展?-vecloud服务器
  4. 【指标统计】MsgProxy消息代理配置
  5. 【系统平台】模拟器-通道-模型-图形配置
  6. django(models)视图与html 简单的操作
  7. C#最小化到托盘+双击托盘恢复+禁止运行多个该程序
  8. 学习事务,视图和索引
  9. 一年的收益就是60% 熊市也能做到 股票花荣实战系统
  10. poj 1106 Transmitters (枚举+叉积运用)