Python-如何在字符串中获取给定变量名称的值?

发布于 2021-02-02 23:15:41

为简单起见,这是我要执行的操作的简化版本:

def foo(a):
    # I want to print the value of the variable
    # the name of which is contained in a

我知道如何在PHP中执行此操作:

function foo($a) {
    echo $$a;
}

global $string = "blah"; // might not need to be global but that's irrelevant
foo("string"); // prints "blah"

有什么办法吗?

关注者
0
被浏览
105
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    如果是全局变量,则可以执行以下操作:

    >>> a = 5
    >>> globals()['a']
    5
    

    关于各种“ eval”解决方案的说明:你应谨慎使用eval,特别是如果要评估的字符串来自可能不受信任的来源-否则,你可能最终会删除磁盘的全部内容或类似内容如果给你一个恶意字符串。

    (如果它不是全局的,那么你将需要访问其定义在其中的任何名称空间。如果没有它,则无法访问它。)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看