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

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

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_localsmyDict = locals().copy()  # or vars().copy()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5587560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存