我必须定义一个类方法,删除该类的实例。代码框架如下:
class baseClass(object):
def __init__(self):
pass
def fun(self):
print 'Base Class'
class derivedClass(baseClass):
def __init__(self):
super(derivedClass, self).__init__()
def fun(self):
print 'Derived class'
def exitfun(self):
print 'Delete Object Instance'
del obj
obj = derivedClass()
obj.fun()
obj.exitfun()
我得到以下错误:
^{pr2}$除了打电话
del <object>
在Main中,是否有其他方法通过成员函数删除类的实例。 提前谢谢!在
使用关键字
global
可以解决您的问题:然而,这可能不是你想做的。为了定义类方法,您需要classmethod修饰符。另外,您可以在类级别保存实例,这样就不必通过
^{pr2}$globals
来访问它:Python有一个垃圾收集器,因此当没有更多的引用指向对象时,会从内存中删除该对象。 关键字
del
只是删除变量名和对象之间的绑定(引用)。如果不再引用该对象,则垃圾回收器将释放其内存。 使用del
删除对象内部的对象是没有意义的,因为del
本身不会触发任何删除。在此外,在您的代码中有一个语法错误,实际上没有定义变量
obj
。您应该使用self
从其中引用对象本身。在相关问题 更多 >
编程相关推荐