__new__() 関数を使用して Python でオブジェクト インスタンスを作成する方法
__new__() 関数は、オブジェクト インスタンスを作成するために Python に組み込まれた特別なメソッドです。 __init__() メソッドとは異なり、 __new__() メソッドはオブジェクトがインスタンス化される前に呼び出され、オブジェクトを作成してオブジェクトのインスタンスを返します。
Python では、オブジェクト インスタンスが作成されるときは常に、実際にはクラスの __new__() メソッドを呼び出すことによって行われます。 __new__() メソッドはオブジェクト インスタンスの作成を担当し、そのプロセスで親クラスの __new__() メソッドを呼び出し、最終的に新しいオブジェクト インスタンスを返します。
以下では、コード例を使用して、__new__() メソッドを使用してオブジェクト インスタンスを作成する方法を示します。
class MyClass(object): def __new__(cls, *args, **kwargs): print("调用了__new__()方法") instance = super().__new__(cls) return instance def __init__(self, *args, **kwargs): print("调用了__init__()方法") # 对象初始化操作 # 创建对象实例 my_obj = MyClass()
上記のコードでは、__new__() メソッドと __init__() メソッドを含むクラス MyClass
を定義します。
__new__() メソッドでは、最初にデバッグ情報を出力し、次に super().__new__(cls)
メソッドを呼び出して新しいオブジェクト インスタンスを作成します。このインスタンスは次の値を返します。 。 super().__new__(cls)
を呼び出すときに、パラメータとして cls
を渡したことに注意してください。これは、__new__() メソッドがパラメータ cls# を受け取るためです。 #、現在のクラスを表すために使用されます。
my_obj を作成します。
调用了__new__()方法 调用了__init__()方法
以上が__new__() 関数を使用して Python でオブジェクト インスタンスを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。