最新消息:欢迎光临 魔力 • Python!大家可以点开导航菜单中的【学习目录】,这个目录类似图书目录,更加方便学习!

Python3萌新入门笔记(36)

Python教程 小楼一夜听春语 4761浏览 0评论

这一篇教程开始,我们一起了解一些Python的内置模块。

内置模块中,往往包含了很多内容。

在接触具体的模块之前,我们先来看一下,怎么知道一个模块中都包含什么?有什么内容可以供我们使用?这些内容又如何使用?

  • 使用内置函数dir()查看模块的组成

内置函数dir()可以帮助我们查看一个对象的组成,那么,在Python中万物皆对象,当然也可以使用这个函数查看模块的组成。

示例代码:

print(dir(pprint))
# 显示输出结果为:['PrettyPrinter', '_StringIO', '__all__', '__builtins__', '__cached__', '__doc__',......]

显示输出的结果很长,所以做了省略。

这个结果就是模块中包含的所有特性(函数、类、变量等)全部列出。

但是,并不是这些内容,我们都能够导入使用。

大家应该还记得,特性名称之前带有下划线是表示警告,禁止使用者对这些特性进行操作。

那么,怎么知道哪些特性是允许使用者使用的呢?

  • 使用模块特性__all__查看可用的模块内容

如果模块的特性中有一个__all__的特性(不是所有的模块都有,例如math模块就没有这个特性。),我们可以通过这个特性查看模块中所有可用的特性。

通过__all__特性获取的内容是所有可用特性名称的列表。

示例代码:

print(pprint.__all__)
# 显示输出结果为:['pprint', 'pformat', 'isreadable', 'isrecursive', 'saferepr', 'PrettyPrinter']

这次显示输出的结果就少了许多,这个列表中的特性,我们都可以调用。

不过,紧接着又面临一个问题,怎么使用?

  • 使用内置函数help()查看模块帮助信息

还是以pprint模块举例。

如果想查看模块的帮助信息,我们可以通过语句help(pprint)进行获取,并通过print()函数显示输出获取的结果。

这个结果里面会包含:名称(功能)、描述、类、函数、数据、文件的信息。

不过,这信息太多了,我们可以单独获取模块某一个特性的信息。

以上一段示例代码显示输出结果的第一个列表元素“pprint”为例。

如果要查看某个模块的特性,我们可以在参数中输入“模块.特性”。

提示:把“.”读成“的”试试看,是不是更容易理解?

所以,我们想获取pprint模块中pprint特性的帮助信息,就在参数中输入“pprint.pprint”。

示例代码:

print(help(pprint.pprint))  # help(pprint)能够获取模块所有特性的帮助信息

运行代码之后,会得到下方这些信息。

Help on function pprint in module pprint:  # pprint模块中pprint函数的帮助信息

pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False) # 函数的参数信息
Pretty-print a Python object to a stream [default is sys.stdout].   # 漂亮打印输出一个Python对象到一个流[默认为系统标准输出]

是不是需要一些英文功底?

这是肯定的。

不过,这件事情急不来,学习需要一个过程。

就好像一开始都进不了洞,慢慢的不但能一杆进洞,还能领悟很多花样姿势。(多打台球有益健康)

  • 使用__doc__特性查看模块说明文档

除了使用内置函数help()能够查看模块的帮助信息,通过模块的__doc__(前提是有这个特性)也能够查看。

示例代码:

print(pprint.pprint.__doc__)

代码运行结果:

Pretty-print a Python object to a stream [default is sys.stdout].

使用__doc__特性能够查看到模块或模块特性相应的文档,通过内置函数help()获取帮助信息时,文档部分的内容就来自这里。

  • 使用__file__特性查看模块所在的位置

除了了解模块的组成与用途,有时候我们还想看看模块中的源代码,从而深入学习或参考。

那么,我们可以通过模块的__file__特性来查看模块所在的目录。

示例代码:

print(pprint.__file__)
# 显示输出结果为:C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\pprint.py

同样,如果模块有__file__特性,我们可以这样查找,如果没有的话会提示错误。

例如,sys模块就不包含__file__特性,因为这个模块是包含在Python解释器中,而不是某个模块文件中。

AttributeError: module ‘sys’ has no attribute ‘__file__’

特性错误:模块“sys”不包含“__file__”特性。

如果使用的是PyCharm这个集成开发环境,我们可以查看这个模块。

在代码编辑区中先导入模块,然后,在模块名称上点击鼠标右键,选择去往(Go To)选项中的实现(Implementation)选项,就能够打开这个模块文件。

那么,既然能够打开这个模块,它不就应该有这个py文件吗?

大家可以看PyCharm软件的顶部,这里显示了当前模块所在的路径。

并且,在这个路径上,我们可以在模块前方的文件夹名称上点击鼠标右键,选择复制路径(Copy Path)的选项。

然后,在本地资源管理器窗口中粘贴这个路径,打开文件夹,就能够看到当前的模块文件。

不过,虽然我们能够找到这个模块,但是它的里面看不到关键的源代码,这些源代码是融入到Python解释器中的。

本节知识点:

1、查看模块组成

2、查看模块可用特性

3、查看模块帮助信息

4、查看模块文档信息

5、查看模块保存位置

本节英文单词与中文释义:

1、dir(directory):目录结构

2、all:全部

3、help:帮助

4、doc(document):文档

5、stream:流

6、default:默认

7、stdout(standard output ):标准输出

8、copy:复制

9、path:路径

10、sys(system):系统

转载请注明:魔力Python » Python3萌新入门笔记(36)

头像
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网站 (可选)

网友最新评论 (1)

  1. 头像
    🙂 支持楼主-__,-
    走路爱走神7年前 (2018-05-29)回复