栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python:在“ exec”环境中出现奇怪的“ NameError:名称……未定义”

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python:在“ exec”环境中出现奇怪的“ NameError:名称……未定义”

这只是一个猜测,因为您没有给我们展示足够的代码,而您给我们展示的内容实际上并没有重现问题,但是……

如果您在

exec
函数内部执行此操作,则
locals()
globals()
将有所不同。在这种情况下,代码将像在类定义中一样被执行。因此,就像您这样做:

class _:    from x import X    class Y(X): # does not crash here, ...        def __init__(self): X.__init__(self) # ... but here    foo=Y()del _

(我以前认为您
必须在

Y()
之外执行类似的操作
exec
,但是user2357112的回答使我确信这是不必要的。)

如果是您的问题,您可以通过致电

exec(pre, globals(), globals())
或来解决
exec(pre, locals(),locals())
。(当然,哪一个合适,取决于您实际上要尝试执行的操作,而您没有告诉我们。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659902.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号