python - 有什么方法可以在Python中对变量ID /符号进行字符串化?

原文 标签 python

我想知道在python中是否有可能实现stringify
变量id/symbol——即一个函数,其行为如下:

>>> symbol = 'whatever'
>>> symbol_name(symbol)
'symbol'

现在,在函数或类(如果它是
直接引用对象):
>>> def fn(): pass
>>> fn.func_name
'fn'

但我在寻找一种适用于所有情况的通用方法,
即使是间接的对象引用。我不知怎么想的
使用id(var),但还没有运气。
有办法吗?

最佳答案

这是,我相信你能把它变成更好的形式

def symbol_name(a):
    for k,v in globals().items():
        if id(a)==id(v): return k

更新:正如unbeli所说,如果你有:
a = []
b = a

函数将无法显示正确的名称,因为id(a)==id(b)。

相关文章:

python - 使用 flex 搜索python包时读取超时错误

python - 使用python 3优化大量随机数的生成

python - 避免在Sphinx文档中扩展sys.argv关键字参数

python - 将.txt数据分组为数据框

python - 在Python中处理Excel文件

python - tkinter-Canvas中的滚动条不起作用

python - 计算 Pandas 数据框中非数字列的每日发生次数

python - Python和ffmpeg

python - Sagemath的BeautifulSoup4

python - 滑动精灵