2024-09-28 03:25:08 发布
网友
考虑下面的python代码段
spoon = 2 + 2 print spoon def spoon(x): return x + 3 print spoon spoon = 'foo' print spoon
这里我们使用相同的名称来创建新对象。我的疑问是我们如何访问我们创建的第一个对象中的数据。i、 例如,如何访问存储在勺子中的4。虽然名称空间指向一个新的id,但是旧的对象仍然存在,所以我问是否仍然有访问这些对象的内容的权限?你知道吗
不能。一旦对象变得不可访问,它就会被释放。如果对象要进行引用计数,口译员可能会立即发现这一点。在这种情况下,当您将spoon设置为foo时,4就消失了。你知道吗
spoon
foo
4
考虑一下这个不完美的例子
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! >>>
不能。一旦对象变得不可访问,它就会被释放。如果对象要进行引用计数,口译员可能会立即发现这一点。在这种情况下,当您将
spoon
设置为foo
时,4
就消失了。你知道吗考虑一下这个不完美的例子
相关问题 更多 >
编程相关推荐