访问Python对象

时间:2013-09-03 06:01:54

标签: python python-3.x

考虑以下python代码段

spoon = 2 + 2

print spoon

def spoon(x):
    return x + 3

print spoon

spoon = 'foo'

print spoon

这里我们使用相同的名称来创建新对象。我怀疑的是我们如何访问我们创建的第一个对象中的数据。即,如何访问存储在勺子中的4。虽然名称空间指向一个新的id,但仍旧旧对象存在,所以我要问是否有访问这些对象的内容?

1 个答案:

答案 0 :(得分:2)

你做不到。一旦对象变得无法访问,它就会被释放。如果对象受引用计数,解释器可以立即找到这个。在这种情况下,4在您将spoon设置为foo时就已消失。

考虑这个不完美的示例

class Foo(object):
    def __del__(self):
        print "tell my wife I love her!"


>>> f = Foo()
>>> def f():
...  print 'Make room for thy beloved king!'
...
tell my wife I love her!
>>>