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 中文站