# python3小白课:模块内容查看 包本质也是模块,本课我们讲的内容也适用于包。 ### 查看模块成员 之前我们讲过,可以使用`dir()`命令查看包含哪些命令,在这里依然是适用的,参数传入模块名即可,模块需要先行导入。 需要注意的是,使用该命令会把那些包含`_`下划线的开发者定义的内部成员或特殊方法都给获取到,如果你不希望获取到,可以输入如下命令来获取: `[i for i in dir(模块名) if not i.startswith("_")]` 使用列表推导式,替换模块名之后即可查看所有非内部成员。 你还可以使用`__all__`成员来查看开发者想让你知道的有哪些成员,但并非所有模块都有定义该成员,若未定义,可以使用`dir()`命令或介绍的列表推导式来获取。 --- ### 查看模块文档 我们多次讲过,一个好的帮助文档是我们必不可少的,定义好之后,可以使用`help()`命令或`__doc__`属性来查看帮助文档。 有些python自带的标准库的文档可能不够详实,你可以参考官方的文档: [https://docs.python.org/zh-cn/3/library/index.html](https://docs.python.org/zh-cn/3/library/index.html) 你还可以使用如下命令来查看包文档: ```powershell python -m pydoc -p 8899 ``` 在cmd中运行后,会启动一个服务器页面[http://localhost:8899/](http://localhost:8899/),点击访问你就可以看到你已有的所有包的文档。你也可以在运行改代码之后,在cmd中输入`b`并回车,打开浏览器访问该页面,按`q`并回车,退出服务。 --- ### 查看模块路径 当我们觉得这个模块的代码不错,需要进一步研读python代码了解开发逻辑时(python的源码理论上都是开源的),可以使用`__file__`属性来查看模块的路径,打开路径中所示的文件即可具体查看代码。一些不错的IDE比如pycharm还支持直接跳转并打开模块所对应的文件,十分方便查看。 比如我们可以这样写: ```python # coding:utf-8 import xiaobai print(xiaobai.__file__) ``` 在python中,还有部分与底层交互的模块不是用python写的,而是用C语言写的,这些程序可能没有`__file__`属性,请知悉。 ### 单词释义 | 单词 | 释义 | | ---- | ---- | | file | 文件 |