Python查看函数签名
时间: 2024-09-28 21:01:34 浏览: 28
对python函数签名的方法详解
在Python中,你可以使用内置的`help()`函数或第三方库如`inspect`模块来查看函数的签名。以下是两个方法:
1. **使用`help()`函数**:
```python
def my_function(param1, param2, *, keyword_param):
# 函数体...
help(my_function)
```
运行这行代码会在控制台显示函数的帮助文档,其中包括了参数列表。
2. **使用`inspect.signature()`函数**:
```python
import inspect
def my_function(param1, param2, *, keyword_param):
# 函数体...
sig = inspect.signature(my_function)
print(sig)
```
这会打印出一个`Signature`对象,你可以通过`.parameters`属性获取到详细的参数信息,包括名称、默认值等。
如果你想要直接看到函数定义的文本形式,可以使用`functools`模块的`reduce()`函数配合字符串操作:
```python
from functools import reduce
import operator
def get_func_text(func):
return reduce(operator.add, [f"{name}: {param.annotation}" for name, param in func.__annotations__.items()])
my_function = your_function # 替换为你要检查的函数
print(get_func_text(my_function))
```
这将输出类似`param1: int, param2: str, keyword_param: typing.Union[str, NoneType]`的形式。
阅读全文