关于python中__init__()和__new__()的区别
2018-01-18 22:28
417 查看
1.__new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供
2.__new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以return父类__new__出来的实例,或者直接是object的__new__出来的实例
3.__init__有一个参数self,就是这个__new__返回的实例,__init__在__new__的基础上可以完成一些其它初始化的动作,__init__不需要返回值
4.我们可以将类比作制造商,__new__方法就是前期的原材料购买环节,__init__方法就是在有原材料的基础上,加工,初始化商品环节
2.__new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以return父类__new__出来的实例,或者直接是object的__new__出来的实例
3.__init__有一个参数self,就是这个__new__返回的实例,__init__在__new__的基础上可以完成一些其它初始化的动作,__init__不需要返回值
4.我们可以将类比作制造商,__new__方法就是前期的原材料购买环节,__init__方法就是在有原材料的基础上,加工,初始化商品环节
相关文章推荐
- python实现单例模式__init__ __new__区别
- python 中 __init__和__new__的区别
- python __init__和__new__之间的区别
- Python基础(十) __init__与__new__区别
- python __init__和__new__之间的区别
- 【python】__new__和__init__区别
- python __init__和__new__之间的区别
- Python中__new__与__init__方法的区别详解
- Python中的__new__和__init__的区别
- Python中__init__和__new__的区别详解
- Python中__new__和__init__区别
- Python中__init__和__new__的区别详解
- python中的__new__方法与__init__方法区别与调用;通过使用__new__实现单例模式
- python中__init__()方法和__new__()方法的区别
- 深入理解Python中的 __new__ 和 __init__及区别介绍
- 34 Python __new__与__init__区别
- python __init__和__new__之间的区别
- Python中__new__与__init__方法的区别详解
- Python中__init__和__new__的区别详解
- iOS关于alloc init于new的区别