浅析Python中__new__函数

Python是面向对象的程序设计语言,Python把所有东西都被视作对象。

Python中有一类特殊的方法,即魔术方法-Magic Method(带两个__的方法),如__new____init__

要想理解__new__,我们还要搞懂__init__

__init__方法是在初始化一个类实例的时候调用,但__init__其实并不是实例化一个类的时候第一个被调用的方法,最先被调用的方法其实是__new__方法。

__new__这个方法负责创建类实例,而__init__负责初始化类实例__new__函数可以用来自定义对象的创建,它的第一个参数是这个类的引用,然后是一些构造参数;返回值通常是对象实例的引用。

常见的类的声明和实例化:

使用__new__

浅析Python中__new__函数

__new__的应用

一般情况下我们并不需要覆写__new__函数,但是写API的时候可能会用到。

# 使用__new__的单例模式

# 限制一个类所能创建的实例对象的总个数

# 自定义实例对象

总结:不到万不得已不要使用这个方法,Zen of Python有这样一句:”Simple is better than complex.”

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注