__new__方法在python中用于控制实例创建,是在__init__之前调用的类方法。1. 实现单例模式:确保类每次调用返回同一个实例。2. 动态实例创建:根据条件返回不同子类实例。使用时需注意返回值必须是实例对象,且__new__的返回可能影响__init__的调用。
在Python中,__new__方法是用来控制实例创建的魔法方法,它在__init__方法之前被调用,负责创建并返回一个新的实例对象。在这里我们深入探讨一下__new__方法的用法和场景。
当我们提到__new__方法时,首先想到的是它是类方法,它的第一个参数是类本身,而不是实例对象。这与__init__方法不同,后者接收的是已经创建好的实例对象。
我们来看看一个简单的__new__方法的使用场景。假设我们有一个类Singleton,我们希望这个类只能有一个实例:
立即学习“Python免费学习笔记(深入)”;
class Singleton: _instance = None def __new__(cls): if cls._instance is None: cls._instance = super().__new__(cls) return cls._instance
登录后复制
文章来自互联网,不代表电脑知识网立场。发布者:,转载请注明出处:https://www.pcxun.com/n/580409.html