[PYTHON] Zerstörer

1


class Person(object):
    def __init__(self, name):
        self.name = name
    
    def say_something(self):
        print('I am {}. Hello'.format(self.name))
        self.run(3)
    
    def run(self, num):
        print('run '*num)

    def __del__(self):
        print('Good-Bye')

person = Person('Tom')
person.say_something()

Ausführungsergebnis von 1


I am Tom. Hello.
run run run 
Good-Bye

2


class Person(object):
    def __init__(self, name):
        self.name = name
    
    def say_something(self):
        print('I am {}. Hello.'.format(self.name))
        self.run(3)
    
    def run(self, num):
        print('run ' * num)
    
    def __del__(self):
        print('Good-Bye')
    
person = Person('Tom')
person.say_something()
print('#######################')

Ausführungsergebnis von 2


I am Tom. Hello.
run run run 
#######################
Good-Bye

Nach dem Drucken ('#########################') Kein Code, Wenn das Personenobjekt nicht mehr verwendet wird Die Destruktor del Funktion wird aufgerufen.

Nicht wie 2 ####################### Oben auf Wenn Sie Good-Bye ausgeben möchten, Sie können das Personenobjekt mit del person löschen.

3


class Person(object):
    def __init__(self, name):
        self.name = name
    
    def say_something(self):
        print('I am {}. Hello.'.format(self.name))
        self.run(3)
    
    def run(self, num):
        print('run ' * num)
    
    def __del__(self):
        print('Good-Bye')
    
person = Person('Tom')
person.say_something()
del person
print('#######################')

Ausführungsergebnis von 3


I am Tom. Hello.
run run run 
Good-Bye
#######################

Recommended Posts

Zerstörer
Konstruktor und Destruktor