Python 中的 __new__
方法是一个特殊方法,在创建对象时会自动调用。它的主要作用是用来创建对象并返回。你可以在类中定义 __new__
方法来控制对象的创建过程。
通常,你不需要直接调用 __new__
方法,而是在类中定义它,然后使用类的构造函数来创建对象。例如:
class MyClass:
def __new__(cls):
# Create and return a new object
return object.__new__(cls)
obj = MyClass()
你也可以在 __new__
方法中传递参数,例如:
class MyClass:
def __new__(cls, value):
# Create and return a new object
obj = object.__new__(cls)
obj.value = value
return obj
obj = MyClass(42)
在这个例子中,我们在创建对象时传递了一个值 42
,然后在 __new__
方法中将它赋值给新创建的对象的 value
属性。
注意:__new__
方法在构造函数 __init__
方法之前调用,所以如果你在 __new__
方法中创建并返回了新对象,那么构造函数 __init__
方法将不会被调用。