Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonクラスとクラス属性はいつガベージコレクションされますか?


クラス属性は、最後の参照がなくなるまで存在します。最後の参照がなくなるまで、グローバル変数も存在します。これらのいずれも、プログラムの全期間続くことが保証されていません。

また、モジュールスコープで定義されたクラスはグローバル変数です。したがって、その場合、クラス(および暗黙的に属性)はグローバル変数と同じ存続期間を持ちます。クラスのインスタンスが現在ライブになっていない場合、参照カウントがゼロになると、クラスとそのクラス属性がガベージコレクションされる可能性があります。


  1. Pythonの文字クラス操作とは何ですか?

    一部の正規表現エンジンでは、文字クラス内でいくつかの凝った操作が可能です。あるクラスに属しているが別のクラスには属していない文字を照合できます(減算)。あるクラスと別のクラスの両方に属する文字に一致する(交差)か、複数のクラスのいずれかに属する文字に一致する(ユニオン)。 Pythonのreモジュールを使用すると、AND演算子&&を使用して、文字クラス内の複数のクラスの共通部分を指定できます。[…&&[…]]は、2つのサブクラスの共通部分を表す文字クラスを指定します。クラスによって一致するものは、2つのサブクラスに属している必要があります。たとえば、[\ S &&[\ D]]は、非空白文字と

  2. Python正規表現で使用される文字クラスまたは文字セットとは何ですか?

    キャラクタークラス 「文字クラス」または「文字セット」は、角かっこで囲まれた文字のセットです。正規表現エンジンは、文字クラスまたは文字セット内のいくつかの文字のうち1つだけに一致します。一致させたい文字を角かっこで囲みます。母音を一致させたい場合は、文字セット[aeiou]を使用します。 文字クラスまたはセットは、単一の文字にのみ一致します。文字クラスまたはセット内の文字の順序は重要ではありません。結果は同じです。 文字クラス内でハイフンを使用して、文字の範囲を指定します。 [0-9]は、0から9までの1桁の数字に一致します。同様に、大文字と小文字の場合、文字クラス[A-Za-z] がありま