论坛
提问
用户
提问
×
游客
登录
注册
忘记密码?
在使用`exec`调用时,如何更新本地变量?
论坛
在使用`exec`调用时,如何更新本地变量?
8 浏览
2023年3月25日
匿名的
2023年3月25日
0
Comments
在使用`exec`调用时,如何更新本地变量?
我以为会打印3,但实际打印的是1:
# Python3 def f(): a = 1 exec("a = 3") print(a) f() # 预期结果为3,实际输出为1
0
0
答案
活跃
已投票
最新
最老的
用户名或邮箱地址
密码
注册
Lost Password
在Python的exec()函数中,globals和locals是两个参数。这两个参数用于控制代码在执行时的命名空间。 globals参数用于指定全局命名空间,它是一个字典,包含了全局变量和函数。代码在执行时,可以直接访问和修改这些全局变量和函数。 locals参数用于指定局部命名空间,它也是一个字典,包含了局部变量和函数。代码在执行时,可以直接访问和修改这些局部变量和函数。 通过传递globals和locals参数给exec()函数,可以控制代码的执行环境。例如,可以通过修改globals参数的值来修改全局变量的值,或者通过修改locals参数的值来修改局部变量的值。这样可以灵活地控制代码的执行过程。
使用exec()设置局部变量时的奇怪行为
访问在Python exec()命令中实例化的变量 - 可以运行,但会抛出NameError异常
在Python 3中,在函数内使用exec()
为什么在函数中调用exec()时无法检索数据?
在exec中赋值的变量出现NameError,尽管它存在于locals中。
为什么在函数中的exec语句中的导入无法正常工作?
我在使用exec()调用Python 3中的函数时出现错误。
在类方法中执行行为
在Python 2和Python 3中exec函数的行为
Python的变量作用域的意外行为
在函数内使用exec设置变量
python: 在exec语句中获取打印输出
在嵌套函数中使用exec语句会使locals()函数返回空值吗?
如何从函数内部更改全局变量?
如何从嵌套函数中为变量分配值
NameError: 'c' is not defined
如何将exec的输出设置为变量python?
无法通过`locals()`直接在Python中设置本地变量。
如何从另一个模块中更改模块变量?