python函数】 python如何才能批量生成函数呢?函数名分别等于一个list里的每个元素~?

2021-12-15 17:01发布

2条回答
aijingda
2021-12-16 14:35

python里动态构造函数可以使用闭包

lista = ["funca","funcb","funcc"]def make_func(val):
    def func(name):
        print('hello %s from %s' % (name, val))
    return funcfuncs = map(make_func, lista)map(lambda f: f('world!'), funcs)

这样生成的函数名没有导出到命名空间里,需要自己导出一下

另外如果有 print sys._getframe().f_code.co_name 结果必须是给定函数名这样的需求的话,那就只能用eval、exec 这样动态生成代码的方法了。

一周热门 更多>