python __new__ 作用
时间: 2024-11-15 11:23:59 浏览: 0
python_Python_opencv_
`__new__` 是 Python 中的一个特殊方法,它在创建新对象时被自动调用,而不是像 `__init__` 那样用于初始化已创建的对象。这个方法的主要作用是在实例化类之前控制新对象的创建过程,通常用于自定义对象创建的行为、设置默认属性值,或者进行一些必要的预处理工作。
当直接通过类名调用 `cls()` 创建新的对象时,Python 实际上会查找并执行 `__new__` 方法。如果你没有覆盖 `__new__`,那么它将返回 `super().__new__(cls)` 的结果,这通常是调用父类的 `__new__` 方法创建一个新的实例。
这里有一个简单的例子:
```python
class CustomClass:
def __new__(cls, *args, **kwargs):
print("Creating a new object")
instance = super().__new__(cls)
# 进一步初始化操作
return instance
obj = CustomClass()
```
当你创建 `CustomClass` 的实例时,会先打印 "Creating a new object"。
阅读全文