前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >构造和析构

构造和析构

作者头像
清菡
发布2020-12-02 17:04:19
4350
发布2020-12-02 17:04:19
举报
文章被收录于专栏:清菡软件测试清菡软件测试

一、__init__(self[,...]) 方法。

1,当我们的实例对象需要有明确的初始化步骤的时候,你可以在 __init__ 方法中部署初始化的代码。

假设定义一个矩形类。

2,如果需要对一个对象进行初始化操作的时候,就要重写 __init__ 。

二、__new__(cls[,...]) 方法。

_new__ 是在一个对象实例化的时候所调用的第一个方法,它的第一个参数不是 self 而是这个类(cls),在 __init__ 方法之前被调用,如果后面有参数,会原封不动的传给 __init__ 方法。

__new__ (cls[,...]) 方法需要一个实例对象作为返回值,它需要返回一个对象,通常返回 cls 这个类的实例对象,也可以返回其他类的对象。

__new__(cls[,...]) 方法平时是很少去重写它的,一般我们 python 用默认的方案去执行就可以了。没有去重写,python 就会在需要的时候默认去执行它。当继承一个不可变类型的时候,又需要去修改它的时候,那它的特性就显得尤为重要了。

三、__del__(self) 方法。

1,是当垃圾回收机制。

2,__init__ 和 __new__ 方法是对象的构造器的话,那么 python 也提供了一个析构器,叫做 __del__ 方法,当对象将要被销毁的时候,这个对象就会自动被调用。

所有对它的引用都被 __del__ 之后才会启动垃圾回收机制。这个垃圾回收机制去销毁这个对象的时候,就自动调用 __del__ 方法。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-26 07:36:32,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
日志服务
日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档