python __new__

1.__new__的做用是什么?

依照Python官方文档的说法,__new__方法主要是当你继承一些不可变的class时(好比int, str, tuple), 提供给你一个自定义这些类的实例化过程的途径。还有就是实现自定义的metaclass。html

1)在内存中为对象分配空间python

2)返回对象的引用。(即对象的内存地址)spa

 

2. __new__何时被执行

 python中定义的类在建立实例对象的时候,会自动执行__init__()方法,可是在执行__init__()方法以前,会执行__new__()方法,htm

python解释器在得到引用的时候会将其传递给__init__()方法中的self。对象

 

3.看个例子

 这篇博客的例子对比性很好blog

__new__方法主要是当你继承一些不可变的class时(好比int, str, tuple), 提供给你一个自定义这些类的实例化过程的途径继承

 

 

参考内存

https://www.cnblogs.com/traditional/p/8395439.html文档

https://www.cnblogs.com/34fj/p/6358702.html博客

相关文章
相关标签/搜索