Python – 按地址在内存中引用对象

这是一个愚蠢的问题,但我只是对此感到好奇.

假设我在Python shell,我有一些我查询的数据库对象.我做:

db.query(的queryString)

该查询在0xffdf842c>处返回响应< QueryResult对象.或类似的东西. 但后来我说“哦!我忘了把结果= db.query(queryString),这样我就可以实际使用查询结果!” 嗯,是不是有一些方法让我参考内存中的对象? 类似于result = reference(‘< QueryResult对象在0xffdf842c>‘)?

最佳答案 你可以做:

>>> result=_

在壳. _表示最后计算的对象.

例:

>>> iter(range(10))
<listiterator object at 0x10ebcccd0>
>>> result=_
>>> result
<listiterator object at 0x10ebcccd0>
>>> list(result)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

您还可以通过键入repr(_)来查看对象的字符串表示形式(如果对象类型支持该对象)

点赞