Gil*_*tes 6 python pointers reference pass-by-reference pass-by-value
可能重复:
通过id()获取对象?
>>> var = 'I need to be accessed by id!'
>>> address = id(var)
>>> print(address)
33003240
Run Code Online (Sandbox Code Playgroud)
有没有办法使用的地址var在内存中,所提供的id(),用于访问的价值var?
UPD:
我还想说,如果这不能在标准Python中完成,那么它也会很有趣,如果这可以通过黑客攻击C++内部的Python来实现.
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]
Run Code Online (Sandbox Code Playgroud)
它也可以在函数内部工作
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)
Run Code Online (Sandbox Code Playgroud)
但正如其他人所指出的那样:首先要确保没有更好的解决方案能够更好地满足您的需求
| 归档时间: |
|
| 查看次数: |
8970 次 |
| 最近记录: |