如何通过ID访问变量?[重复]
问题内容:
这个问题已经在这里有了答案 :
7年前关闭。
可能重复:
通过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)
但正如其他人指出的那样: 首先,请确保没有更好的解决方案可以更好地满足您的需求