argmap.compile#

argmap.compile(f)[源代码]#

编译修饰后的函数。

对于给定的修饰函数调用一次--从堆栈中的所有argmap修饰器收集代码,并编译修饰函数。

这里完成的大部分工作都使用 assemble 方法,以允许递归处理单个修饰函数上的多个argmap修饰符。这将扁平化argmap修饰符,收集源代码以构造单个修饰函数,然后编译/执行/返回该函数。

修饰函数的源代码作为属性存储 _code 在函数对象本身上。

请注意,Python的 compile 函数需要一个文件名,但此代码是在没有文件的情况下构造的,因此使用一个虚构的文件名来描述函数的来源。它的名字类似于:“argmap编译4”。

参数
f可调用

要装饰的函数

返回
func可调用

装饰过的文件