编程语言
首页 > 编程语言> > python – 是否有可能取消引用变量id?

python – 是否有可能取消引用变量id?

作者:互联网

参见英文答案 > Get object by id()?                                    7个
你可以取消引用从Python中的id函数检索的变量id吗​​?例如:

dereference(id(a)) == a

我想从学术角度来了解;我知道还有更实用的方法.

解决方法:

这是一个基于comment由“Tiran”在讨论Hophat Abc referenced中制作的实用函数,它将在Python 2和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

标签:dereference,python,memory
来源: https://codeday.me/bug/20190917/1808699.html