• 技术文章 >Python技术 >Python高级

    python删除对象的方法是什么

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-06-28 15:29:51原创5275

    _ _del_ _()方法

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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    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视频教程

    运行结果为:

    1

    2

    3

    4

    5

    6

    7

    8

    __init__方法被调用

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

    __del__方法被调用

    __init__方法被调用

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

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

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

    __del__方法被调用

    说明:

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

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

    相关推荐:

    python的魔法方法是什么

    专题推荐:python del
    上一篇:python的魔法方法是什么 下一篇:Python中类的继承是什么

    相关文章推荐

    • python的魔法方法是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网