Python 对未分配给任何对象的类对象的访问

Python 对未分配给任何对象的类对象的访问,python,python-3.x,Python,Python 3.x,下面是一个超级简单的代码: class Test(): def __init__(self, x): self.something = x 现在可以创建类的实例: test1 = Test(14) 然后访问它: test1.something 我想知道你是否不把它“分配”给这样的东西: Test(15) 它会仅仅存在于内存中而无法访问它,还是会被放到某个地方变成垃圾 print (Test(15)) <__main__.Test object at 0xb7

下面是一个超级简单的代码:

class Test():
    def __init__(self, x):
        self.something = x
现在可以创建类的实例:

test1 = Test(14)
然后访问它:

test1.something
我想知道你是否不把它“分配”给这样的东西:

Test(15)
它会仅仅存在于内存中而无法访问它,还是会被放到某个地方变成垃圾

print (Test(15))
<__main__.Test object at 0xb70aba8c>
打印(测试(15))

也许有点傻,我不知道。我只是好奇,因为它显然占据了一些记忆空间。谢谢。

如果您在REPL中,它实际上将被保存到特殊名称
\u
中,该名称保存以前执行的表达式的结果。只要该名称包含对它的引用,它就会保留在内存中


但是,如果您不在REPL中,它将仅短暂地保留在内存中。由于没有任何内容引用该对象,因此该对象的引用计数将为0,并且与该对象关联的内存将被释放。

该行之后将立即删除该对象,因为该对象的
ref\u计数将为零。。。你不需要一个类,同样的情况也会发生在一个列表中,例如只需连续运行两次这个
print(Test(15))
,看看打印了什么。这会让你知道发生了什么哇,很好。非常感谢。