8-4 __new__和__init__

class User:
    def __new__(cls, *args, **kwargs):
        print("in new ")
        return super().__new__(cls)

    def __init__(self,name):
        print("in init ")
        self.name  = name

user = User("zhou")
print(user.name)
in new 
in init 
zhou

new 是用来控制实例对象的生成过程, 在对象生成之前

init是用来完善对象的

如果new方法不返回对象, 则不会调用init函数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,764评论 18 399
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,849评论 2 9
  • 6 a.m 这是哪 我怎么会在这 旁边这人是谁 头痛 只记得昨晚喝了很多酒,很多 结果喝断片了 从来没试过这样 感...
    2儿阅读 249评论 0 1
  • 2018年2月6日 星期二 天气晴 《忌日快乐》这部电影在豆瓣上的评价是8.4分,剧照看上去也很恐怖。 两...
    梦清痕阅读 248评论 0 0
  • 很久以前看到韩寒的一句话:“虚惊一场”这四个字是人世间最好的成语,比起什么兴高采烈、五彩缤纷、一帆风顺都要好几百倍...
    安静而纯美阅读 684评论 0 1