当前位置: 首页 > 面试题库 >

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

楚意
2023-03-14
问题内容

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

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"

有什么办法吗?


问题答案:

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

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

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

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



 类似资料:
  • 本文向大家介绍如何在Python中获取变量名称作为字符串?,包括了如何在Python中获取变量名称作为字符串?的使用技巧和注意事项,需要的朋友参考一下 实际上,这不是您在Python中所做的事情,因为变量实际上是对象的名称映射。Python中唯一具有规范名称的对象是模块,函数和类,并且在定义函数或类或导入模块后,当然不能保证此规范名称在任何命名空间中都具有任何含义。这些名称也可以在创建对象之后进行

  • 问题内容: 很抱歉提出这样的问题,但我确实无法在Google中找到答案。假设我有一个课程,并且有一个字符串“ myColor”。现在,我想操纵属性。我怎样才能做到这一点? 编辑: 对不起,一个不清楚的问题,我想最好的方法是解释我需要什么。我有一个Swing表单,想在加载gui时使用首选项api设置字段的值。因此,我可以读取所有字段,然后对每个字段进行处理,但这似乎是不需要的编码,因此我想使用带有字

  • 问题内容: 示例代码: 现在,说我想让用户输入一个字符串: 然后,说出用户输入。我将如何检索命名的变量并对其进行处理?像这样: 我抬头看了一些东西,却没发现太多。我确实找到了对“反射API”的引用,但是对于这一简单任务而言,它似乎太复杂了。 有没有办法做到这一点,如果是的话,那是什么?如果“反射”确实有效并且是唯一的方法,那么我将如何使用它来做到这一点?它的教程页面包含了各种我无法理解的内部内容。

  • 问题内容: 此线程讨论如何在Python中以字符串形式获取函数名称:如何在Python中以字符串 形式获取函数名称? 如何对变量执行相同操作?与函数相反,Python变量没有属性。 换句话说,如果我有一个变量,例如: 我正在寻找一个功能/属性,例如: 返回字符串 更新: 由于人们在问我为什么要这样做,这里有一个例子。我想从此列表在Pandas中创建一个DataFrame,其中列名称 由实际字典的名

  • 问题内容: 说我有这个PHP代码: 然后,我需要一个这样的功能: 打印: 任何想法如何实现这一目标?在PHP中甚至有可能吗? 问题答案: 您可以使用get_defined_vars()来查找与您要查找其名称的变量具有相同值的变量的名称。显然,这并不总是可行的,因为不同的变量通常具有相同的值,但这是我想到的唯一方法。 编辑:get_defined_vars()似乎不能正常工作,它返回’var’,因为