美文网首页
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