python删除对象的方法是什么[python高级]

_ _del_ _()方法

创建对象后,python解释器默认调用_ _init_ _()方法;

当删除一个对象时,python解释器也会默认调用一个方法,这个方法为_ _del_ _()方法

class Person(object):

    #初始化方法,创建对象会被自动调用

    def __init__(self, name):

        print("__init__方法被调用")

        self.__name = name 

    #析构方法:当对象删除是会被调用

    def __del__(self):

        print("__del__方法被调用")

    def getName(self):

        return self.__name

    def setName(self,newName):

        if len(newName)>=5:

            self.__name = newName

        else:

            print("Error:输入的名字长度不够")

xiaoming = Person("Se7eN")

print("------马上删除xiaoming------")

del xiaoming

laowang = Person("laowang")

laowang2 = laowang

laowang3 = laowang

print("------马上删除laowang------")

del laowang

print("------马上删除laowang2------")

del laowang2

print("------马上删除laowang3------")

del laowang3

相关推荐:《Python相关教程》

运行结果为:

__init__方法被调用

------马上删除xiaoming------

__del__方法被调用

__init__方法被调用

------马上删除laowang------

------马上删除laowang2------

------马上删除laowang3------

__del__方法被调用

说明:

当有1个变量保存了对象的引用时,此对象的引用计数就会加1。

当使用del删除变量指向的对象时,如果对象的引用计数不为1,比如3,那么此时只会让这个对象的引用计数减1,即变为2,当再次调用del时,变为1,如果在调用1次的时候,此时才会把对象删除。

相关推荐:

python的魔法方法是什么

以上是 python删除对象的方法是什么[python高级] 的全部内容, 来源链接: utcz.com/z/540069.html

回到顶部