python - 如何通过ID访问变量?

标签 python pointers reference pass-by-reference pass-by-value

这个问题已经在这里有了答案:




已关闭8年。




Possible Duplicate:
Get object by id()?


>>> var = 'I need to be accessed by id!'
>>> address = id(var)
>>> print(address)
33003240

有什么方法可以使用var提供的内存中id()的地址来访问var的值?

UPD:
我也想说,如果这不能通过标准的Python完成,那么如果可以通过破解Python的C++内部实现这一点也很有趣。

UPD2:
知道如何更改var的值也将很有趣。

最佳答案

仅针对您的情况,解决方案是:

var = 'I need to be accessed by id!'
address = id(var)
print(address)
var2 = [x for x in globals().values() if id(x)==address]

它也可以从类似
def get_by_address(address):
    return [x for x in globals().values() if id(x)==address]

var = 'I need to be accessed by id!'
address = id(var)
print(address)
var2 = get_by_address(address)

但正如其他人指出的那样:首先确保没有更好的解决方案可以更好地满足您的需求

关于python - 如何通过ID访问变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14257350/

相关文章:

c - 如何创建一个改变字符串的函数?

C:函数调用后的指针

c++ - 为什么要给小类成员返回一个 const 引用?

python - 在 Python 环境中设置 NLTK 的问题

python - 使用 Tkinter 的动画 gif 没有透明度

C++ header 多变量指针包含

JavaScript:如何从自定义上下文菜单传递对象引用

javascript - 这个javascript有什么问题?数组未定义

Python BeautifulSoup 从 find_all() 返回错误的输入列表

python - 如何按 Pandas 数据框中的对象属性进行过滤