gpt4 book ai didi

python - 如何编写一个函数来返回变量名?

转载 作者:行者123 更新时间:2023-12-04 16:57:17 25 4
gpt4 key购买 nike

我想要一个可以像这样返回变量/对象名称作为 str 的函数:

def get_variable_name (input_variable):
## some codes

>>get_variable_name(a)
'a'

>>get_variable_name(mylist)
'mylist'

它看起来很傻,但我需要该函数来构造关于变量的表达式,以便稍后在“exec()”中使用。有人可以帮助如何编写 'get_variable_name' 吗?

最佳答案

我现在已经在 SO 上多次看到有关此类问题的一些变体。答案是不要。 学习使用 dict任何时候您需要名称和对象之间的关联。 稍后你会为此感谢自己。

在回答“我的代码如何发现对象的名称?”这个问题时,这里是 a quote来自 Fredrik Lundh(在 comp.lang.python 上):

The same way as you get the name of that cat you found on your porch: the cat (object) itself cannot tell you its name, and it doesn’t really care — so the only way to find out what it’s called is to ask all your neighbours (namespaces) if it’s their cat (object)…

….and don’t be surprised if you’ll find that it’s known by many names, or no name at all!



注意:在技术上可以获取绑定(bind)到对象的名称列表,至少在 CPython 实现中是这样。如果您有兴趣查看演示,请参阅 inspect 的用法。我的回答中显示的模块:

Can an object inspect the name of the variable it's been assigned to?

这种技术应该只在一些疯狂的调试 session 中使用,不要在你的设计中使用这样的东西。

关于python - 如何编写一个函数来返回变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47141200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com