魔法__new__

·__new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供

·__new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以return父类__new__出来的实例,或者直接是object的__new__出来的实例

·__init__有一个参数self,就是这个__new__返回的实例,__init__在__new__的基础上可以完成一些其它初始化的动作,__init__不需要返回值

·我们可以将类比作制造商,__new__方法就是前期的原材料购买环节,__init__方法就是在有原材料的基础上,加工,初始化商品环节



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

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,852评论 0 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,224评论 19 139
  • 设计模式(Designpattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件...
    朝畫夕拾阅读 253评论 0 0
  • —适合流浪是一种什么样的心情,是否在不计前嫌与不顾后果中洒脱出来,做真实的自己,尽管一贫如洗。 三毛,我并不热衷于...
    桃儿酒阅读 441评论 2 1
  • 在开始这篇文章之前,请让我先讲一个故事,上大学后我有三个好友,A是一个电脑发烧友,每天一台电脑就可以在寝室快活一整...
    黄xy阅读 306评论 1 1