Python 相当于 R 在函数内进行赋值
与这个问题相关,但略有不同。
如何在函数内执行 R 的 assign()
操作?
我尝试了 locals()['x'] = 3
但失败了。 我尝试了 exec('x=3')
但也失败了。
当我只有包含变量名称的字符串变量时,如何访问函数的名称空间并修改它。
应 eshirvana 的要求,我将 exec() 的结果放在函数内
def f():
exec('a=3')
print(a)
f()
# NameError Traceback (most recent # call last)
# Input In [64], in <module>
# ----> 1 f()
#
# Input In [63], in f()
# 1 def f():
# 2 exec('a=3')
# ----> 3 print(a)
#
# NameError: name 'a' is not defined
Related to this question but slightly different.
How can I do R's assign()
inside a function?
I tried locals()['x'] = 3
but failed.
I tried exec('x=3')
but also failed.
How can I access a function's namespace and modify it when I only have string variable that contains the variable name.
on eshirvana's request, I put down the result of exec()
inside a function
def f():
exec('a=3')
print(a)
f()
# NameError Traceback (most recent # call last)
# Input In [64], in <module>
# ----> 1 f()
#
# Input In [63], in f()
# 1 def f():
# 2 exec('a=3')
# ----> 3 print(a)
#
# NameError: name 'a' is not defined
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论