当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python inspect.getcallargs用法及代码示例


用法:

inspect.getcallargs(func, /, *args, **kwds)

argskwds 绑定到 Python 函数或方法 func 的参数名称,就像使用它们调用它一样。对于绑定方法,还将第一个参数(通常命名为 self )绑定到关联的实例。返回一个 dict,将参数名称(包括 *** 参数的名称,如果有的话)映射到 argskwds 的值。如果调用 func 不正确,即每当 func(*args, **kwds) 由于签名不兼容而引发异常时,就会引发相同类型的异常和相同或相似的消息。例如:

>>> from inspect import getcallargs
>>> def f(a, b=1, *pos, **named):
...     pass
>>> getcallargs(f, 1, 2, 3) == {'a': 1, 'named': {}, 'b': 2, 'pos': (3,)}
True
>>> getcallargs(f, a=2, x=4) == {'a': 2, 'named': {'x': 4}, 'b': 1, 'pos': ()}
True
>>> getcallargs(f)
Traceback (most recent call last):
...
TypeError: f() missing 1 required positional argument: 'a'

3.2 版中的新函数。

自 3.5 版起已弃用:采用Signature.bind()Signature.bind_partial()反而。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 inspect.getcallargs。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。