Python中查询函数最常用方法是help()和inspect模块:help()快速查看帮助信息,inspect提供签名、文档、源码等详细信息,辅以__doc__等属性和dir()/hasattr()动态检查。

在 Python 中查询函数,通常是指查看某个函数的定义、参数、文档说明或源码。最常用、最直接的方式是使用内置函数 help() 和 inspect 模块。
用 help() 查看函数帮助信息
这是最简单快捷的方法,适合快速了解函数用途和基本用法:
- 在交互式环境(如 IDLE、Jupyter 或终端 Python)中输入 help(函数名),例如:
help(print)、help(len)、help(os.path.join) - 如果函数来自第三方库(如 requests、numpy),需先导入再查:
import requests → help(requests.get) - 注意:对没有写 docstring 的函数,help() 可能只显示签名或“no documentation found”
用 inspect 模块获取更详细信息
当需要结构化地获取函数签名、参数、源码甚至模块位置时,inspect 更强大:
- inspect.signature(func) —— 返回函数的完整参数签名(含默认值、类型提示等)
- inspect.getdoc(func) —— 获取纯文本格式的 docstring(比 help() 更干净)
- inspect.getsource(func) —— 尝试获取函数源码(仅适用于纯 Python 函数,C 内置函数会报错)
- inspect.getfile(func) —— 查看函数定义在哪个文件中(方便定位)
用 __doc__ 和 __name__ 快速读取基础属性
适合脚本中轻量级检查,不依赖模块导入:
立即学习“Python免费学习笔记(深入)”;
- print(func.__doc__) —— 直接打印 docstring(可能为 None)
- print(func.__name__) —— 查看函数名
- print(func.__module__) —— 查看所属模块名(如 'builtins' 或 'math')
小技巧:动态查找函数是否存在
有时不确定函数名或想检查是否可用:
- 用 dir(module) 列出模块所有属性,再用 'func_name' in dir(module) 判断
- 用 hasattr(module, 'func_name') 更简洁安全
- 结合 getattr(module, 'func_name', None) 安全获取函数对象
基本上就这些。日常开发中,help() 足够应对大多数查询需求;调试或写工具时,inspect 更灵活可靠。不复杂但容易忽略的是:确保函数已导入、不是被覆盖的变量名、且不是 C 扩展函数(部分无法查看源码)。











