2

您可以抓取未分配给变量的实例化对象吗?例如:

import time
time.time() 

我怎样才能抓住我已经实例化的对象来调用它的方法。也许我可以获得所有实例化时间对象的列表,然后通过某种返回的 id 重新分配它们?

4

4 回答 4

5

在交互式解释器中,最后计算的值保存为_

>>> import time
>>> time.time()
1336296696.824
>>> _
1336296696.824
于 2012-05-06T09:33:07.373 回答
5

没有引用的对象根本不存在。Python 内存管理通过引用计数来工作。一旦一个对象没有任何引用,它就会被销毁。

于 2012-05-06T09:39:43.427 回答
3

这闻起来像是对不需要优化的东西进行优化的糟糕尝试。

让 GC 处理这样的对象 - 它很可能会立即被删除,因为它的引用计数在创建后立即为零。

这也意味着无法访问未引用的对象。

于 2012-05-06T09:37:11.350 回答
1

假设您正在谈论 REPL,IPython(我强烈推荐)允许您访问任何过去计算的结果。例如:

In [1]: 2 * 2 * 2
Out[1]: 8

In [2]: _ * 2
Out[2]: 16

In [3]: _ * 3
Out[3]: 48

In [4]: _1
Out[4]: 8

In [5]: _2
Out[5]: 16

In [6]:
于 2012-05-06T10:25:23.330 回答