Maison > Article > développement back-end > Gestion de la mémoire en Python
Écrire du code efficace en mémoire et rapide à exécuter est ce que souhaite tout développeur lorsqu'il travaille avec n'importe quel langage de programmation. En Python, l'allocation et la désallocation de mémoire ne sont pas manuelles car Python dispose d'un garbage collector.
Maintenant, qu'est-ce qu'un éboueur ?
Le garbage collection fait référence à la manière dont la mémoire est libérée lorsqu'elle n'est pas utilisée et la rend disponible pour être utilisée par d'autres objets. Python supprime les objets qui ne sont plus utilisés. C'est ce que nous appelons le ramassage des ordures. Le garbage collector démarre l'exécution du programme et est activé lorsque le nombre de références tombe à zéro.
Le garbage collector de Python s'exécute pendant l'exécution du programme et est déclenché lorsque le nombre de références d'un objet atteint zéro. Le nombre de références d'un objet change à mesure que le nombre d'alias pointant vers lui change.
Voyons maintenant comment la mémoire est allouée en Python -
Dans l'allocation de mémoire statique, la mémoire est allouée au moment de la compilation. La structure de données de pile stocke la mémoire statique.
Un exemple simple d'allocation de mémoire sur la pile -
static int x=2;
Dans l'allocation dynamique de mémoire, la mémoire est allouée au moment de l'exécution. Le tas stocke la mémoire dynamique. Si l'objet n'est plus nécessaire, il libère de l'espace mémoire.
Un exemple simple où la mémoire est allouée sur le tas pour 2 entiers -
x = [0]*2
Comme nous l'avons vu ci-dessus, le garbage collector démarre son exécution au démarrage du programme et est activé lorsque le nombre de références tombe à zéro. Voyons ce qu'est le comptage de références.
Le garbage collector Python démarre l'exécution d'un programme et est activé lorsque le nombre de références tombe à zéro. Voyons quand le nombre de références augmente ou diminue
Lorsque la valeur du nombre de références augmente -
Lorsqu'un nouveau nom est attribué ou attribué dans un dictionnaire ou un tuple, le nombre de références augmente sa valeur.
Si nous réattribuons la référence à l'objet, le nombre de références diminue sa valeur.
Lorsque la valeur du nombre de références diminue -
Ainsi, le nombre de références est en fait le nombre de fois qu'un objet est référencé par d'autres objets. De cette façon, la désallocation se produit lorsque le nombre de références tombe à zéro.
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!