在使用 dir() 函数和 __all__ 变量的基础上,虽然我们能知晓指定模块(或包)中所有可用的成员(变量、函数和类),比如:

import string
print(string.__all__)

程序执行结果为:

['ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctuation', 'whitespace', 'Formatter', 'Template']

但对于以上的输出结果,对于不熟悉 string 模块的用户,还是不清楚这些名称分别表示的是什么意思,更不清楚各个成员有什么功能。

针对这种情况,我们可以使用 help() 函数来获取指定成员(甚至是该模块)的帮助信息。以前面章节创建的 my_package 包为例,该包中包含 __init__.py 、module1.py 和 module2.py 这 3 个模块,它们各自包含的内容分别如下所示:

#***__init__.py 文件中的内容***
from my_package.module1 import*
from my_package.module2 import*#***module1.py 中的内容***
#module1.py模块文件
defdisplay(arc):'''直接输出指定的参数'''
print(arc)#***module2.py中的内容***
#module2.py 模块文件
class CLanguage:'''CLanguage是一个类,其包含:display() 方法'''
defdisplay(self):
print("http://csdn.net/python/")

现在,我们先借助 dir() 函数,查看 my_package 包中有多少可供我们调用的成员:

import my_package
print([e for e indir(my_package)ifnot e.startswith('_')])

程序输出结果为:

['CLanguage', 'display', 'module1', 'module2']

通过此输出结果可以得知,在 my_package 包中,有以上 4 个成员可供我们使用。接下来,我们使用 help() 函数来查看这些成员的具体含义(以 module1 为例):

import my_package
help(my_package.module1)

输出结果为:

Help on module my_package.module1 in my_package:

NAME
my_package.module1 - #module1.py模块文件

FUNCTIONS
display(arc)
直接输出指定的参数

FILE
c:\users\mengma\desktop\my_package\module1.py

通过输出结果可以得知,module1 实际上是一个模块文件,其包含 display() 函数,该函数的功能是直接输出指定的 arc 参数。同时,还显示出了该模块具体的存储位置。

当然,有兴趣的读者还可以尝试运行如下几段代码:

#输出 module2 成员的具体信息
help(my_package.module2)
#输出 display 成员的具体信息
help(my_package.module1.display)
#输出 CLanguage 成员的具体信息
help(my_package.module2.CLanguage)

值得一提的是,之所以我们可以使用 help() 函数查看具体成员的信息,是因为该成员本身就包含表示自身身份的说明文档(本质是字符串,位于该成员内部开头的位置)。前面讲过,无论是函数还是类,都可以使用 __doc__ 属性获取它们的说明文档,模块也不例外。

以 my_package 包 module1 模块中的 display() 函数为例,我们尝试用 __doc__ 变量获取其说明文档:程序执行结果为:

直接输出指定的参数

其实,help() 函数底层也是借助 __doc__ 属性实现的。

那么,如果使用 help() 函数或者 __doc__ 属性,仍然无法满足我们的需求,还可以使用以下 2 种方法:

  1. 调用 __file__ 属性,查看该模块或者包文件的具体存储位置,直接查看其源代码(后续章节或详细介绍);

  1. 对于非自定义的模块或者包,可以查阅 Python 库的参考文档 https://docs.python.org/3/library/index.html。

Python __doc__属性:查看文档相关推荐

  1. python初步学习-查看文档及数据类型转换

    学会查看文档 python最权威的文档就是官方文档,因此,我们要学会查看官方文档.而在python解释器中,help() 命令就可以很权威的查看官方文档. 因此,我们要学会使用 help() 命令. ...

  2. python查看文档的软件_Python __doc__属性:查看文档

    前面介绍了使用 help() 函数来查看程序单元的帮助信息.比如导入 string 模块之后,即可使用 help() 函数来查看指定程序单元的帮助信息. 例如,在交互式解释器中输入如下命令来查看 st ...

  3. python数据采集6-读取文档

    文章目录 python数据采集6-读取文档 文档编码 纯文本 CSV PDF 微软Word和.docx python数据采集6-读取文档 有种观点认为,互联网基本上就是那些符合新式 Web 2.0 潮 ...

  4. Python+pymupdf处理PDF文档案例6则

    推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),清华大学出版社,2020年6月第1次印刷,7月第2次印刷 京东购买链接:https://i ...

  5. 环境变量,cp,mv,查看文档命令

    2019独角兽企业重金招聘Python工程师标准>>> 一.环境变量PATH echo $PATH 打印当前的环境变量 PATH=$PATH:路径 自定义环境变量 which查找某个 ...

  6. Xcode中快速定位、快速查找、快速查看文档、快速解决不再打印等技巧

    文章原文地址:http://blog.sina.com.cn/s/blog_68f324850102x4et.html 技巧一:快速定位 XGLog(@"----%s----%d------ ...

  7. 使用sphinx为python注释生成docAPI文档

    sphinx简介 sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发. 新版的Python3文档就是由sphinx生成 ...

  8. 使用sphinx快速为你python注释生成API文档

    sphinx简介 sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发.新版的Python3文档就是由sphinx生成的 ...

  9. python用于cad_使用Python读取AutoCAD DXF文档

    作为<使用Python创建AutoCAD DXF文档>的姊妹篇,本文介绍用Python读取DXF ============================================= ...

最新文章

  1. [MicroPython]TurnipBit开发板旋转按钮控制直流电机转速
  2. 当Java遇上机密计算,又一段奇幻之旅开始了!
  3. 除了默认的docker0网桥,启动Docker服务怎么指定使用的网桥
  4. 面向对象的 XSLT编程
  5. Apollo的学习笔记
  6. 亚洲最佳电影TOP100出炉 你看过几部?
  7. java计算机毕业设计小小银动漫网站源代码+数据库+系统+lw文档
  8. MySQL 文本类型,存储大小
  9. 解决mongodb 取出时是 UTC时间问题
  10. 【seeprettyface.com】数据集:模特/明星人脸数据集
  11. leetcode174.地下城游戏
  12. Windows 10 build Error !include: could not find: ****StdUtils.nsh
  13. vimdiff简单使用
  14. xcode没有Products的解决方法
  15. 数据分析软件解读王者荣耀一年的“王者”成绩单
  16. css层叠样式表、基本选择器
  17. 幽默感七个技巧_如何提高幽默感
  18. 我要让一些好习惯替换掉坏习惯
  19. python算法问题_算法重心问题树(Python),的
  20. Mac电脑高手都会用的10个Mac OS实用技巧,都是干货值得收藏!

热门文章

  1. 图解DES、3DES和AES加密算法
  2. idea: springboot *.properties文件打不开,上面出现问号
  3. ipad使用--网页导出pdf方法2
  4. 冷战时期的网课系统,居然催生出了世上第一块触屏!|科技拾遗
  5. redhat 同步时间
  6. Core Data 概述
  7. 0002.双冒号作用域运算符
  8. 主流浏览器的调试工具
  9. 【深度学习】全连接层
  10. 计算机方向有哪些细分专业,各专业有什么不同吗?