python __init__ __new__
时间: 2024-01-10 08:20:31 浏览: 113
__init__和__new__是Python中的特殊方法,用于在创建和初始化对象时进行操作。
__new__方法是一个静态方法,用于创建一个实例对象。它是在对象实例化之前调用的,并且必须返回一个实例对象。__new__方法的第一个参数是类本身,后面可以传递其他参数。在__new__方法中,可以通过调用父类的__new__方法来创建实例对象。
__init__方法是一个实例方法,用于初始化对象的属性。它是在对象实例化之后调用的,用于对实例对象进行一些初始化操作。__init__方法的第一个参数是self,表示当前实例对象,后面可以传递其他参数。在__init__方法中,可以通过self来访问和操作实例对象的属性。
下面是一个示例代码,演示了__new__和__init__的使用:
```python
class MyClass:
def __new__(cls, *args, **kwargs):
instance = super().__new__(cls)
return instance
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
obj = MyClass("value1", "value2")
print(obj.arg1) # 输出:value1
print(obj.arg2) # 输出:value2
```
在上面的示例中,__new__方法创建了一个实例对象,并返回该对象。然后,__init__方法对该实例对象进行初始化,将传入的参数赋值给实例对象的属性。最后,通过访问实例对象的属性,可以获取到初始化后的值。
阅读全文