将变量的名称作为字符串获取。

将变量的名称作为字符串获取。

此线程讨论如何在Python中以字符串的形式获取函数的名称:如何在Python中以字符串的形式获得函数名?

我怎样才能对一个变量做同样的事情呢?与函数相反,Python变量没有__name__属性。

换句话说,如果我有一个变量,例如:

foo = dict()foo['bar'] = 2

我正在寻找一个函数/属性。retrieve_name:

retrieve_name(foo)

返回字符串的'foo'

最新情况:

既然人们问我为什么要这样做,下面就是一个例子。我想从此列表在Pandas中创建DataFrame,在哪里列名由实际字典的名称提供:

# List of dictionaries for my DataFramelist_of_dicts = [n_jobs, users, queues, priorities]


慕桂英4014372
浏览 905回答 3
3回答

婷婷同学_

Python中唯一具有规范名称的对象是模块、函数和类,当然,在定义函数或类或导入模块之后,不能保证该规范名称在任何命名空间中都有任何意义。这些名称也可以在创建对象之后进行修改,因此它们可能并不总是值得信任的。你想做的事是不可能的不递归地遍历命名对象树名称是对象的单向引用。常见的或花园多样性的Python对象不包含对其名称的引用。想象一下,如果每一个整数、每一个迪克、每一个列表、每一个布尔值都需要维护一个字符串列表,这些字符串表示引用它的名称!这将是一个实现噩梦,对程序员几乎没有好处。

慕丝7291255

我不相信这是可能的。考虑以下示例:>>> a = []>>> b = a>>> id(a)140031712435664>>> id(b)140031712435664这个a和b指向同一个对象,但对象不知道指向哪个变量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python