这个问题已经在这里有了答案:
已关闭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/