Python 相当于 R 在函数内进行赋值

发布于 2025-01-10 03:21:20 字数 663 浏览 0 评论 0原文

这个问题相关,但略有不同。

如何在函数内执行 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文