【发布时间】:2018-04-26 09:51:53
【问题描述】:
我浏览了论坛,我似乎无法找到答案(实际上可能没有答案)关于您是否可以通过使用其内存位置来获取变量的名称或值Python。换句话说,当我声明a = 10 并将值10 分配给变量'a',然后我在'a' 上使用id() 函数时,我得到了内存中'a' 的值所在的位置被储存了。有没有办法通过引用id() 返回的值(十进制值或使用hex() 函数将十进制值转换为十六进制)来打印变量名称('a') 或值('10')?我尝试了一些类似print(id(variable-name)) 和print(decimal-value-from-id) 的方法,但没有运气。任何帮助将不胜感激,并提前感谢您!
干杯!
【问题讨论】:
-
你为什么要这么做?
-
没有。事实上,
id(obj)是obj在内存中的位置是一个 CPython 实现细节,不应依赖 -
你可以在 C 扩展中做到这一点,但不是纯 python
-
您可以将 id 值的字典存储到变量中,并实习您的字符串以确保始终如一地应用,但您的最终目标是什么?
-
尽管这在 CPython 中是可能的,但非常不建议您依赖它。另外,需要注意的是,
id返回的值不是链接到变量,而是链接到对象。
标签: python python-3.x variables