前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >标准库的自我介绍

标准库的自我介绍

作者头像
编程文青李狗蛋
发布2019-11-07 15:45:22
2790
发布2019-11-07 15:45:22
举报
本文字数:2094 字 阅读本文大概需要:6 分钟

写在之前

在 Python 被安装的时候,有不少模块随着安装到本地计算机上,这些东西让 Python 拥有了无限生机,能够轻而易举的使用很多模块,这些在安装 Python 时就默认已经安装好的模块统称为「标准库」。

熟悉「标准库」是学习编程必须要做的事,所以今天我们就来学习一下标准库。

引用方式

所有模块都服从下述引用方式,以下是最基本的,也是最常用的,还是可读性非常好的引用方式:

代码语言:javascript
复制
import modulename

例如下面的例子:

代码语言:javascript
复制
>>> import pprint
>>> a = {'name':'rocky','age':'23','like':'python'}
>>> pprint.pprint(a)
{'age': '23', 'like': 'python', 'name': 'rocky'}

在对模块进行说明的过程中,我以 pprint 为例。以 pprint.pprint() 的方式使用模块中的一种方法,这种方法能够让字典格式化输出,更方便易读。

其实在 import 后面,理论上可以跟好多模块名称,但是在实践的时候还是建议一次跟一个好了,太多了影响阅读。关于引用模块的方式,在前面的文章 零基础学习 Python 之模块(一)零基础学习 Python 之模块(二)介绍 import 语句的时候已经讲过了,在这就不罗列了,如果你忘记的话,可以再看看。

在这里我还要补充一点的是,有时候如果你觉得引入的模块或者方法名称有点长,这时可以给它重命名,请看下面的例子:

代码语言:javascript
复制
>>> import pprint as pr
>>> pr.pprint(a)
{'age': '23', 'like': 'python', 'name': 'rocky'}

as 后面的名称是什么你看着写就好,但是不管怎样,一定要让别人看懂,且过一段时间自己回头来看的时候也要看得懂。

深入探究

我们继续以 pprint 为例,继续深入的来研究:

代码语言:javascript
复制
>>> import pprint
>>> dir(pprint)
['PrettyPrinter', '_StringIO', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_builtin_scalars', '_collections', '_perfcheck', '_recursion', '_safe_key', '_safe_repr', '_safe_tuple', '_sys', '_types', '_wrap_bytes_repr', 'isreadable', 'isrecursive', 'pformat', 'pprint', 're', 'saferepr']

对 dir 我们并不陌生,从结果中可以看到 pprint 的属性和方法,其中有的是以单下划线、双下划线开头的,为了不影响我们的观感,我们先把它们去掉:

代码语言:javascript
复制
>>> [x for x in dir(pprint) if not x.startswith('_')]
['PrettyPrinter', 'isreadable', 'isrecursive', 'pformat', 'pprint', 're', 'saferepr']

针对这几个,为了搞清楚它们的含义,我们可以使用 help() 方法,比如:

代码语言:javascript
复制
>>> help(PrettyPrinter)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'PrettyPrinter' is not defined

上面这样做竟然是错的,大家知道错在什么地方吗?先思考以下,思考完了请继续往下看:

代码语言:javascript
复制
>>> help(pprint.PrettyPrinter)

前面是用 import pprint 引入模块的,鉴于结果太多,我就不放出来了,你可以自己打印一下。我们通过帮助信息,能够查看到该方法的详细说明,可以用这种方法一个个的查看,反正也不多,最好对每个方法都要熟悉。需要注意的是,pprint.PrettyPrinter 是一个类,后面的是方法。

让我们再回过头来看看 dir(pprint) 的结果:

代码语言:javascript
复制
>>> pprint.__all__
['pprint', 'pformat', 'isreadable', 'isrecursive', 'saferepr', 'PrettyPrinter']

这个结果是不是很眼熟?除了 warnings 之外,跟前面通过列表解析式得到的结果一样。其实,当我们使用 from pprint import * 的时候,就是将 __all__ 里面的方法引入。

写在之后

其实,Python 标准库的内容非常多,多的超出你的想象,有专门介绍 Python 标准库的书,就问你怕不怕。

在接下来的几天里,我会把几个经常用的,而且你在学习和工作中也会经常用到的几个介绍一下,一来让你看看标准库是多么强大,二来我们一起学习一下怎么去理解和使用标准库。

如果你觉得本篇文章对你有帮助的话,欢迎点赞,你的支持是我持续输出的动力。

The end。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python空间 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档