Skip to main content
 首页 » 编程设计

python之删除类后使用类方法和变量

2025年05月04日16cmt

所以我今天在 Python IDLE Shell 中闲逛,我注意到了一些东西。 我有这样的类(class):

class Name: 
    def __init__(self, name): 
        self.name = name 
    def __str__(self): 
        return self.name 

我创建了一个类的实例并打印出名称:

name1 = Name("Cameron") 
print(name1) 

然后我删除了类:

del Name 

但后来意识到我仍然可以像什么都没发生一样使用“name1”:

# still returns 'Cameron' 
print(name1) 

谁能告诉我为什么会这样?

请您参考如下方法:

del 并不意味着“销毁这个东西”。它的意思是“取消分配这个变量”。对该变量引用的对象的其他引用不受影响,只要该对象可通过某些引用链访问,它就不会被销毁。

当你执行

del Name 

Name 变量消失了,但是变量用来引用的 Name 类仍然存在。 name1 具有对其类型的引用,因此它将继续正常工作。