视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
python析构函数与构造函数的用法讲解
2020-11-27 14:13:52 责编:小采
文档
class Test(object):
 def __init__(self, name):
 self.name = name
 print('这是构造函数')

 def say_hi(self):
 print('hell, %s' % self.name)

 def __del__(self):
 print('这是析构函数')

obj = Test('bigberg')

obj.say_hi()

del obj

#
输出   这是构造函数   hello bigberg   这是析构函数

  

构造函数

  用于初始化类的内容部状态,Python提供的构造函数式 __init__(),也就是当该类被实例化的时候就会执行该函数,__init__()方法是可选的,如果不提供,Python 会给出默认的__init__方法。

析构函数

  “__del__”就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调用完毕,在跳出其作用域的同时析构函数也会被调用一次,这样可以用来释放内存空间。  

  __del__()也是可选的,如果不提供,则Python 会在后台提供默认析构函数

  如果要显式的调用析构函数,可以使用del关键字: del obj 垃圾回收机制  
s = '123'
print('del...running')
del s

  当我们用del删除一个对象时,其实并没有直接清除该对象的内存空间。Python 采用‘引用计数’ 的算法方式来处理回收,即:当某个对象在其作用域内不再被其他对象引用的时候,Python 就自动清除对象。

  而析构函数 __del__()在引用的时候就会自动清除被删除对象的内存空间。

构造函数:

用于初始化类的内容部状态,Python提供的构造函数式 __init__();

也就是当该类被实例化的时候就会执行该函数。那么我们就可以把要先初始化的属性放到这个函数里面。如下程序:

__init__()方法是可选的,如果不提供,Python 会给出默认的__init__方法

一般数据的获取需要定义的get和set方法

下载本文
显示全文
专题