您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:如何在函数的本地范围内运行eval()

Python:如何在函数的本地范围内运行eval()

保存locals()(或vars()调用的结果以返回函数的本地范围。否则,locals()生成器表达式内部将返回gen-expr的本地范围。

def test3():
    lvar1 = 1
    lvar2 = 2
    lvar3 = 3
    scope = locals()
    myDict = dict((name, eval(name, scope)) for name in [
                  "lvar1", "lvar2", "lvar3"])
    print(myDict["lvar1"])

顺便说一句,您不需要明确的理解即可构建该命令:

# copy() avoids quirky, unexpected updates if something else (like a debugger)
# accesses locals() or f_locals
myDict = locals().copy()  # or vars().copy()
python 2022/1/1 18:33:43 有445人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶