Maison > Article > développement back-end > Explication sur l'utilisation du destructeur et du constructeur python
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 这是析构函数
Utilisé pour initialiser l'état de contenu de la classe, le constructeur fourni par Python est __init__( ) , c'est-à-dire que cette fonction sera exécutée lorsque la classe est instanciée. La méthode __init__() est facultative si elle n'est pas fournie, Python donnera la méthode __init__ par défaut.
"__del__" est un destructeur Lorsque vous utilisez del pour supprimer un objet, son propre destructeur sera appelé de plus, lorsque l'objet Après avoir été. appelé dans une certaine portée, le destructeur sera appelé une fois en sortant de sa portée, ce qui peut être utilisé pour libérer de l'espace mémoire.
__del__() est également facultatif. S'il n'est pas fourni, Python fournira un destructeur par défaut en arrière-plan
s = '123' print('del...running') del s
Lorsque nous utilisons del pour supprimer un objet, la mémoire de l'objet n'est pas directement effacée. . Python utilise un algorithme de « comptage de références » pour gérer le recyclage, c'est-à-dire : lorsqu'un objet n'est plus référencé par d'autres objets dans sa portée, Python efface automatiquement l'objet.
Et le destructeur __del__() effacera automatiquement l'espace mémoire de l'objet supprimé lorsqu'il sera référencé.
Constructeur :
est utilisé pour initialiser l'état de contenu de la classe. Le constructeur fourni par Python est __init__();
.Autrement dit, cette fonction sera exécutée lorsque la classe sera instanciée. Ensuite, nous pouvons mettre en premier les propriétés à initialiser dans cette fonction. Le programme suivant :
La méthode __init__() est facultative. Si elle n'est pas fournie, Python donnera la méthode __init__ par défaut
Données générales Récupérez le get et le set. méthodes qu'il faut définir
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!