Heim  >  Artikel  >  Backend-Entwicklung  >  Erläuterung zur Verwendung des Python-Destruktors und -Konstruktors

Erläuterung zur Verwendung des Python-Destruktors und -Konstruktors

巴扎黑
巴扎黑Original
2017-07-17 16:10:142877Durchsuche
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


  这是析构函数

 

Konstruktor

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.

Destruktor

„__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.

Wenn Sie den Destruktor explizit aufrufen möchten, können Sie das Schlüsselwort del verwenden: del obj
Garbage-Collection-Mechanismus 
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:

Erläuterung zur Verwendung des Python-Destruktors und -Konstruktors

__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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn