class Test(object): def __init__(self, name): self.name = name print('这是构造函数') def say_hi(self): print('hell, %s' % self.name) def __del__(self): print('这是析构函数') obj = Test('bigberg') obj.say_hi() del obj #输出 这是构造函数 hello bigberg 这是析构函数
クラスのコンテンツの状態を初期化するために使用され、Python によって提供されるコンストラクター型 __init__() 、つまり、クラスがインスタンス化されるときに関数が実行されます、 __init__( ) メソッドはオプションで、指定しない場合、Python はデフォルトの __init__ メソッドを提供します。
「__del__」はデストラクタで、delを使ってオブジェクトを削除する際に、そのオブジェクトが特定のスコープ内で呼び出される際に、他のスコープから飛び出すことになります。デストラクターもスコープと同時に 1 回呼び出され、メモリ領域を解放するために使用できます。
__del__() もオプションです。指定しない場合、Python はバックグラウンドでデフォルトのデストラクターを提供します
s = '123' print('del...running') del s
delを使ってオブジェクトを削除するとき、オブジェクトのメモリ空間は直接クリアされません。 Python は、リサイクルを処理するために「参照カウント」アルゴリズムを使用します。つまり、オブジェクトがそのスコープ内の他のオブジェクトによって参照されなくなると、Python はそのオブジェクトを自動的にクリアします。
デストラクタ__del__()は、削除されたオブジェクトが参照されると、そのメモリ空間を自動的にクリアします。
コンストラクター:
は、クラスのコンテンツ状態を初期化するために使用されます。Python によって提供されるコンストラクターは、クラスがインスタンス化されるときにこの関数が実行されることを意味します。次に、最初に初期化するプロパティをこの関数に入れることができます。次のプログラム:
__init__() メソッドはオプションです。指定しない場合、Python はデフォルトの __init__ メソッドを提供します
一般的なデータ取得には、定義された get メソッドと set メソッドが必要です
以上がPythonのデストラクタとコンストラクタの使い方を解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。