dir 函数

dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法 __dir__(),该方法将被调用。如果参数不包含 __dir__(),该方法将最大限度地收集参数信息。

用法: dir([object])

内置模块直接传参进 dir() 即可,外部模块,如:time,requests 等需要先导入(import),然后再进行对应步骤。

示例:

  1. 内置模块直接调用 dir() 参数为类型名、空类型、类型实例等均可。 查看 str 模块:dir(str), dir("") 查看字典模块:dir(dict())、dir({}) 查看集合模块:dir(set())

  2. 外部模块先 import 导入, 然后再查看。 例如:

    1
    2
    import time
    dir(time)

常用来查看属性、方法列表,一般用在记不清(或者想查看)某些模块的属性或者方法存在与否时。

但是这个列表只有简略的名字,没有参数用法等详细介绍,需要用后面的 help 函数或者 __doc__ 属性查看使用帮助。

help 函数

查看详细的模块介绍、类、方法的使用等。

  1. 导入包(如果不是内置模块的话)

  2. 通过 help 命令查看函数(注意:要从模块写起) 查看模块信息:help(module_name) 查看模块下特定函数信息:help(module_name.func_name)

  3. 如果只在 python console 里面输入 help(), 进入帮助文档的交互模式(ctrl+c 退出)。

例如:

查看 requests 的 session 方法

1
2
3
In [17]: import requests
In [18]: help(requests.session)
In [20]: help(requests.sessions.Session)

查看 subproccess 的 run 方法:

1
2
3
In [21]: import subprocess

In [22]: help(subprocess.run)

查看 str 的 count 函数使用:help(str.count)

__doc__ 属性

我猜 help() 应该就是从该属性提取的文档那个,二者内容差别不大,所以用 help() 就够了

使用示例: str.count.__doc__

此外,还有个 pydoc 官方工具和以上工具基本无差,不学了,哈哈。

参考资料

Python dir() 函数