想知道Python取得如此巨大成功的原因吗?只要看看Python提供的大量库就知道了

包括原生库和第三方库。

不过,有这么多Python库,有些库得不到应有的关注也就不足为奇了。

此外,只在一个领域里的工作的人并不知道另一个领域里有什么好东西,不知道其他领域的东西能产出什么有用的价值。

下面给大家列出10个你可能忽略,但绝对值得注意的Python库:

这些工具的用途非常广泛, 简化了从文件系统访问、数据库编程、云服务到构建轻量级web应用程序、创建gui、图像工具、Excel和Word文件等等的事情的工作复杂度。

有些库是众所周知的,有些则不太为人所知,但是所有这些Python库都应该在各位的工具箱中占有一席之地。

1. Arrow

Arrow: 让你更方便地处理日期和时间。

为什么要使用Arrow:还记得我们之前讲过的日期计算吗?实际上那是一个简单的计算教程,思考一下,如果我们想要切换时区怎么办、更加灵活地日期格式化怎么做?

即便是像python这么好用的工具,如果你只用原生库,你也得折腾上一阵子。现在我们有了更好的选择:Arrow.

Arrow拥有四大优势。

首先,箭头是Python的datetime模块的一个替代品,这意味着像.now()和.utcnow()这样的公共函数调用可以正常工作。

第二,Arrow提供了一些通用的方法,比如转换时区。

第三,Arrow提供了“人性化”的日期/时间信息,比如能够毫不费力地说出“一小时前”或“两小时后”发生的事情(就如同我们在暑期余额里讲的那样)。第四,Arrow可以轻松地本地化日期/时间信息。

下面是Arrow使用的三个例子:

2. Behold

Behold: 强大的代码调试工具。

如果你只是使用print进行项目的调试,你会发现在大型项目的时候,这一招根本行不通

因为大型项目的数据流动非常复杂,你必须跟踪一个变量的流动才行,这时候你可能会出现每隔几句就写一个print的尴尬情况。

这时候Behold就非常有优势了,它具有搜索、筛选、排序功能,而且能跨模块地展示数据流向。

3. Black

black:使用严格的规则格式化Python代码。

black是一个毫不妥协的格式化工具,它检测到不符合规范的代码风格直接给你全部格式化了,不需要你自己确定,非常适合代码风格紊乱的人群进行自我纠正

使用也非常简单, CMD/Terminal安装black:

pip install black

然后同样,CMD/Terminal进入到你的Python文件的文件夹里,然后输入:

black 你的文件名.py

即可格式化该文件里的代码。

4. Bottle

**Bottle:轻量级网站/api开发工具

当你想要构建一个快速的RESTful API或者使用web框架的基本框架来构建一个应用程序时,Bottle完全就够用了。

路由、模板、请求和响应、支持许多种请求协议,甚至如websockets之类的高级功能都支持。

同样,启动所需的工作量也很小,而且当需要更高级的功能时,Bottle可以很好地扩展,非常优秀.

5. Click

Click: 让你快速地为Python应用程序构建命令行界面。

在没有用click之前,我们是如何获取用户输入的? 是用 val = input(xxx) 这样的形式吧?

虽然也非常简单,但是当你想要给它设定默认值的时候就麻烦了:

然而click可以让你消去这样的烦恼:

我的天,简直是上天给予Python程序员的礼物啊。

更多的功能请阅读官方文档,比如它还能设定输入参数:

运行结果:

6. Nuitka

Nuitka: 将Python编译成C++级的可执行文件。

重点是C++级的应用,速度快!速度快!速度快!

尽管Cython也能够把Python编译成C,但是Cython仅仅关注数学和统计应用程序,而Nuitka可以按原样使用任何Python程序编译为C,生成单文件的可执行文件。

虽然目前还在早期阶段,但是可以预想到它的未来是多么的辉煌.

7. Numba

Numba: 有选择地加速数学计算。

这是我以前梦寐以求的功能,我们知道Numpy通过在Python接口中封装高速的C库进行工作,Cython将某些用户选择的类型编译为C.

但是我们发现这些东西用起来都不是很顺手,感觉“命运 ” 不是由我掌控的。有了Numba之后,我们可以对函数进行加速.

你要做的仅仅是在函数上方加一个装饰器,这可真的是非常舒服:

8. Openpyxl

openpyxl: 读取,写入和操作Excel文件。

还记得我们的日历文章吗?我们在那篇文章里就用到了openpyxl这个库,实质上,用于操作Excel的不止有这个库可以做到,但是它有一些独特的功能,

比如,写成最新的文件格式xlsx,而且它对文件大小是没有限制的,就这两个功能已经完爆xlwt了。当然,它在速度上是比不过xlwt的,这就需要各位权衡使用了.

9. Peewee

peewee: 支持sqlite, Mysql及PostgreSQL的小型ORM(方便写数据库的)。

这是我在python上接触的第一个ORM,不是所有人都喜欢用这个玩意儿,但是对于那些不喜欢接触SQL语句开发的人来说,这玩意儿简直是宝物啊

peewee非常易于构建、连接、操作数据库,然后内置了许多的查询操作功能。

不过需要注意的是,peewee 3.x 并不完全向旧版本兼容。

10. PyFilesystem

PyFilesystem: 简化了文件、目录的处理方法,支持任何文件系统的操作,大幅度提高编程效率。

你的开发过程中,有没有为这样的事情忧愁过:打开一个不存在文件夹里的文件(新建),确定某个目录里是否存在某个文件,确定是否存在某个目录

当然如果你非常熟练os和io模块,你会觉得这些事情简直是so easy. 但是对于一些不熟悉这两个模块的语句的同学,这可得Google一下。

幸好,现在有了PyFilesystem, 我们的编程生活能够快乐许多。它能支持任何文件系统的操作,而且提供了许多实用的函数,比如说查看当前目录下的文件:

显示目录结构树:

当然还有更多的功能.....

最后分享一些小福利

链接:https://pan.baidu.com/s/1sMxwTn7P2lhvzvWRwBjFrQ

提取码:kt2v

链接容易被举报过期,如果失效了就在这里领取吧

学Python的你必须要知道,这十个Python常用库的更多相关文章

  1. Python不能用于大型项目?人们对Python的十大误解

    Python 类型系统的特点是拥有强大.灵活的类型操作. 维基百科上对此作出的阐述. 而存在一个不争而有趣的事实是, Python 是比Java更加强类型的. Java 对于原生类型和对象区分了类型系 ...

  2. 尚学python课程---11、linux环境下安装python注意

    尚学python课程---11.linux环境下安装python注意 一.总结 一句话总结: 准备安装依赖包:zlib.openssl:yum install zlib* openssl*:pytho ...

  3. 尚学linux课程---10、linux环境下安装python

    尚学linux课程---10.linux环境下安装python 一.总结 一句话总结: 直接在官网下载python的源码包即可,然后在linux下安装 linux下安装软件优先想到的的确是yum,但是 ...

  4. 【Python五篇慢慢弹】数据结构看python

    数据结构看python 作者:白宁超 2016年10月9日14:04:47 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...

  5. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  6. Python之路【第一篇】:Python简介和入门

    python简介: 一.什么是python Python(英国发音:/ pa θ n/ 美国发音:/ pa θɑ n/),是一种面向对象.直译式的计算机程序语言. 每一门语言都有自己的哲学: pyth ...

  7. python常用库

    本文由 伯乐在线 - 艾凌风 翻译,Namco 校稿.未经许可,禁止转载!英文出处:vinta.欢迎加入翻译组. Awesome Python ,这又是一个 Awesome XXX 系列的资源整理,由 ...

  8. Python开发【第三章】:Python函数介绍

    一. 函数介绍 1.函数是什么? 在学习函数之前,一直遵循面向过程编程,即根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复 ...

  9. 常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript

    常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript Javascript现阶段还不适合用来做独立开发,它的天下还是在web应用 ...

随机推荐

  1. coding++ :Layui-监听事件

    在使用layui的form表单做验证提交的时候,如果结合vue,或者是三级联动的时候,就需要做事件监听了. 具体语法: form.on('event(过滤器值)', callback); 可以用于监听 ...

  2. iOS 项目优化

    前言 iOS性能优化系列篇之"优化总体原则" 不要提前过度优化 要找到性能瓶颈 要在不同性能指标间权衡 要理解优化任务的底层运行机制 要有技术保障体系 一.启动速度优化 1.1 学 ...

  3. 模块 sys shell参数获取

    sys 参数获取 获取参数 sys模块是与python解释器交互的一个接口 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) ...

  4. 三、【Docker笔记】Docker镜像

    镜像是Docker的三大核心概念之一.Docker在运行容器之前,本地需要存有镜像,若不存在则Docker会首先尝试从默认的镜像仓库中去下载,当然我们也可以去配置自己的仓库,如此就会从我们配置的仓库中 ...

  5. python ——钟表

    1.表盘 from turtle import * from datetime import * def Skip(step):#表盘不连续地画图 penup() forward(step) pend ...

  6. Django-on_delete

    一.外键的删除 关于on_delete的总结 1.常见的使用方式(设置为null) class BookModel(models.Model): """ 书籍表 &quo ...

  7. A AK的距离

    时间限制 : - MS   空间限制 : - KB  评测说明 : 1s,128m 问题描述 同学们总想AK.于是何老板给出一个由大写字母构成的字符串,他想你帮忙找出其中距离最远的一对'A'和'K'. ...

  8. java中eclipse的安装和JDK的环境变量的配置以及记事本的使用

    2020-04-09 23:26:15 学习java的第一步当然就是环境配置了,java中的配置作为小白刚刚开始肯定会有点一点晕头转向的,开没等开始入门呢!就要准备放弃了.哈哈哈哈,没关系的,都是这么 ...

  9. Springboot2(二)通过微信熟悉熟悉Spring-boot yml配置文件

    前言:Spring-boot的yml配置文件,这里就不在借助人.狗介绍了,试试套下微信! 创建yml文件 值得注意的是下图中有三种命名方法,前两种是对的,且第二种必须是横线而不是下划线! yml文件的 ...

  10. python 函数--装饰器

    一.装饰器 1.为什么要用装饰器? 装饰器的功能:在不修改原函数以及调用方式的情况下对原函数功能进行扩展. 二.开放和封闭原则 1.对扩展是开放的 2.对修改是封闭的 三.装饰器的固有结构 impor ...