美文网首页
python 3 动态创建函数

python 3 动态创建函数

作者: 陈凌川 | 来源:发表于2019-11-29 18:44 被阅读0次

序言

版本:Python 3.8.0

1.实现通过字符串创建函数

使用 types.FunctionType创建函数,并将函数添加到全局变量中

from types import FunctionType, CodeType

code_1 = """
def uuid()->str:
    import uuid
    return str(uuid.uuid1())"""

foo_compile = compile(code_1 , "<string>", "exec")
foo_code = [ i for i in foo_compile.co_consts if isinstance(i, CodeType)][0]
globals()['uuid'] = FunctionType(foo_code, globals())

2.执行生成的方法

func = globals()['uuid']

print(func())

执行后结果

0658cb1f-1295-11ea-9d47-58a023280e46

相关文章

网友评论

      本文标题:python 3 动态创建函数

      本文链接:https://www.haomeiwen.com/subject/rcggwctx.html