Python 中变量 ID 可以取消引用吗?
Python 中使用 id 函数检索的变量 ID 是否可以取消引用是值得探讨的。考虑以下查询:
dereference(id(a)) == a
虽然有更实用的方法可以实现此目的,但我们将从学术角度深入研究这个问题。
答案
可以使用与 Python 2 和 Python 3 兼容的实用函数。但是,需要注意的是,该函数的安全性存在争议,一些专家强烈建议不要使用它。
import _ctypes def di(obj_id): """ Inverse of id() function. """ return _ctypes.PyObj_FromPtr(obj_id) if __name__ == '__main__': a = 42 b = 'answer' print(di(id(a))) # -> 42 print(di(id(b))) # -> answer
此函数反转 id() 操作,允许从变量 ID 检索原始对象。
以上是Python 变量 ID 可以反转以取消引用其原始对象吗?的详细内容。更多信息请关注PHP中文网其他相关文章!