class MyClass:
def __new__(cls, *args, **kwargs):
# __new__ 是一个静态方法,用于创建类的实例
# 它在实例创建之前被调用,可以控制实例的创建过程
print("MyClass.__new__ called")
instance = super(MyClass, cls).__new__(cls)
return instance
def __init__(self, value):
# __init__ 是初始化方法,在实例创建后被调用
# 用于初始化实例的属性
print("MyClass.__init__ called")
self.value = value
# 创建类的实例
obj = MyClass(10)
print(obj.value) # 输出: 10
__new__
方法是一个静态方法,它在实例创建之前被调用,负责返回一个新的实例。通常情况下,我们不需要重写这个方法,除非我们需要自定义实例的创建过程(例如单例模式)。__init__
方法是在实例创建之后被调用,用于初始化实例的属性。它接收传入的参数,并将这些参数赋值给实例的属性。在这个例子中,当我们创建 MyClass
的实例时,首先会调用 __new__
方法来创建实例,然后调用 __init__
方法来初始化实例的属性。
上一篇:python 调用js
下一篇:python的generator
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站