Python __doc__属性:查看文档
在使用 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模块文件
def display(arc):
'''
直接输出指定的参数
'''
print(arc)
#***module2.py中的内容***
#module2.py 模块文件
class CLanguage:
'''
CLanguage是一个类,其包含:
display() 方法
'''
def display(self):
print("http://c.biancheng网站站点" rel="nofollow" />
import my_package
print([e for e in dir(my_package) if not 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__ 变量获取其说明文档:
import my_package
print(my_package.module1.display.__doc__)
程序执行结果为:
直接输出指定的参数
其实,help() 函数底层也是借助 __doc__ 属性实现的。
那么,如果使用 help() 函数或者 __doc__ 属性,仍然无法满足我们的需求,还可以使用以下 2 种方法:
调用 __file__ 属性,查看该模块或者包文件的具体存储位置,直接查看其源代码(后续章节或详细介绍);
对于非自定义的模块或者包,可以查阅 Python 库的参考文档 https://docs.python网站站点" rel="nofollow" />
- 随机文章
- 马尔代夫的形容(马尔代夫 美丽的印度洋度假胜地)
- 国足 马尔代夫 转播(中国队客场挑战马尔代夫,比赛将在转播中呈现)
- 东吉尔湖马尔代夫(东吉尔湖为您带来马尔代夫的无限美好)
- 乡村马尔代夫游戏(乡村马尔代夫游戏:你的私人度假胜地)
- 马尔代夫还是希腊(度假去哪里?马尔代夫与希腊的比较)
- 明星飞马尔代夫(明星云集,马尔代夫VIP岛归来!)
- 曲江马尔代夫视频(潜入珊瑚海,享受马尔代夫的奢华之旅)
- 沙特迪拜马尔代夫(中东豪华旅游圣地:沙特迪拜马尔代夫)
- 昌乐马尔代夫照片(昌乐一对新人在马尔代夫拍摄浪漫照片)
- 小猪 马尔代夫(探秘小猪马尔代夫之旅)
- 安龙 马尔代夫(安龙:马尔代夫旅游新热点!)
- 平潭 马尔代夫(平潭打造浪漫马尔代夫风情之旅)
- 鳐鱼 马尔代夫(马尔代夫常见鲨鱼之一的鳐鱼)
- 广东 马尔代夫(广东游客最爱的旅游胜地:马尔代夫)
- 绵阳马尔代夫价格(新标题:绵阳到马尔代夫旅游价格优惠)
- 赶海马尔代夫图片(惊艳海底世界!探索马尔代夫海洋奇观)
- 美丽玉溪马尔代夫(玉溪:“中国马尔代夫”彰显绿色美丽)
- 法医秦明马尔代夫(重返马尔代夫,法医秦明再度侦破案件)
- 重庆马尔代夫分部(重庆旅游企业在马尔代夫设立海外分部)
- 长寿马尔代夫直播(直播带你领略神秘而长寿的马尔代夫!)
- 海参 马尔代夫(重写后的标题:马尔代夫海参之旅)
- 钦州 马尔代夫(钦州直飞马尔代夫,梦幻海岛游等你来!)
- 网吧搞笑马尔代夫(笑翻了!网吧客人模拟马尔代夫旅行!)
- 马尔代夫中国出手(中国帮助马尔代夫重建、加强基础设施)
- 马尔代夫业余球员(马尔代夫业余球员成为国家足球队一员)
- 中国马尔代夫比分(中国队与马尔代夫队足球比赛结果发布)
- 电信 马尔代夫(电信进军马尔代夫市场,提供全方位通讯服务)
- 马尔代夫下沉了吗(马尔代夫是否受到海平面上升的影响?)
- 海龟视频马尔代夫(珊瑚岛海龟全景纪录视频惊艳马尔代夫)
- 草坝 马尔代夫(马尔代夫一处美不胜收的草地酒店——草坝)
