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 这是析构函数
Wird zum Initialisieren des Inhaltsstatus der Klasse verwendet. Der von Python bereitgestellte Konstruktor ist __init__( ) Das heißt, diese Funktion wird ausgeführt, wenn die Klasse instanziiert wird. Wenn sie nicht angegeben wird, gibt Python die Standardmethode __init__ an.
„__del__“ ist ein Destruktor. Wenn Sie ein Objekt mit del löschen, wird zusätzlich ein eigener Destruktor aufgerufen Wird in einem bestimmten Bereich aufgerufen, wird der Destruktor einmal aufgerufen, wenn er aus seinem Bereich herausspringt, was zum Freigeben von Speicherplatz verwendet werden kann.
__del__() ist ebenfalls optional. Wenn nicht angegeben, stellt Python einen Standarddestruktor im Hintergrund bereit.
s = '123' print('del...running') del s
Wenn wir del verwenden, um ein Objekt zu löschen, wird der Speicher des Objekts nicht direkt gelöscht . Python verwendet einen „Referenzzählalgorithmus“, um das Recycling zu handhaben. Das heißt: Wenn ein Objekt nicht mehr von anderen Objekten in seinem Bereich referenziert wird, löscht Python das Objekt automatisch.
Und der Destruktor __del__() löscht automatisch den Speicherplatz des gelöschten Objekts, wenn darauf verwiesen wird.
Konstruktor:
wird verwendet, um den Inhaltsstatus der Klasse zu initialisieren. Der von Python bereitgestellte Konstruktor ist __init__();
Das heißt, diese Funktion wird ausgeführt, wenn die Klasse instanziiert wird. Dann können wir die Eigenschaften, die zuerst initialisiert werden sollen, in diese Funktion einfügen. Das folgende Programm:
__init__()-Methode ist optional. Wenn nicht angegeben, gibt Python die Standardmethode __init__ an
Allgemeine Daten Holen Sie sich das Get und Set Methoden, die definiert werden müssen
Das obige ist der detaillierte Inhalt vonErläuterung zur Verwendung des Python-Destruktors und -Konstruktors. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!