argmap.signature#

classmethod argmap.signature(f)[source]#

构建一个描述 f 的 Signature 对象

计算一个 Signature,以便我们可以编写一个包装 f 并具有相同签名和调用类型的函数。

参数:
f可调用对象 (callable)

要装饰的函数

返回:
sigargmap.Signature

f 的 Signature

注意

Signature 是一个具有以下名称的命名元组 (namedtuple)

name : 被装饰函数名称的唯一版本 signature : 被装饰函数的 inspect.signature def_sig : 用于定义新函数的代码字符串 call_sig : 用于调用被装饰函数的代码字符串 names : 一个字典,以参数名称和索引为键,参数名称为值 n_positional : 签名中的位置参数数量 args : 如果存在 VAR_POSITIONAL 参数(例如 *theseargs),则为其名称 kwargs : 如果存在 VAR_KEYWORDS 参数(例如 **kwargs),则为其名称

Signature 的这些命名属性在 assemblecompile 中用于构建被装饰函数的源代码字符串。