57 lines
2.3 KiB
Markdown
57 lines
2.3 KiB
Markdown
# 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 | 文件 | |