可以抓住未分配给变量的实例化对象吗?

时间:2012-05-06 09:31:44

标签: python class variables object

你能抓住未分配给变量的实例化对象吗? e.g:

import time
time.time() 

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

4 个答案:

答案 0 :(得分:5)

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

>>> import time
>>> time.time()
1336296696.824
>>> _
1336296696.824

答案 1 :(得分:5)

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

答案 2 :(得分:3)

这就像是一次不好的尝试来优化不需要优化的东西。

让GC处理这样一个对象 - 它可能会被删除,因为它的引用计数在创建之后就是零。

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

答案 3 :(得分:1)

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

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]: