Effacer la variable en python
Est-il un moyen pour effacer la valeur d'une variable en python?
Par exemple si j'implémentais un arbre binaire:
Class Node:
self.left = somenode1
self.right = somenode2
Si je voulais supprimer un nœud de l'arborescence, je devrais définir self.left
sur vide.
7 réponses
Quel est le problème avec self.left = None
? Est-ce que j'interprète mal votre question, ou n'êtes-vous pas familier avec le mot-clé None
?
Le mot clé del
ferait l'affaire.
>>> a=1
>>> a
1
>>> del a
>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
MODIFIÉ:, Mais dans ce cas je vote pour self.left = None
var = None
"efface la valeur", en définissant la valeur de la variable sur "null" comme la valeur de "None", mais le pointeur sur la variable reste.
del var
supprime la définition de la variable totalement.
Si vous voulez utiliser la variable plus tard, par exemple, définissez une nouvelle valeur pour elle, c'est-à-dire conservez la variable, None
serait mieux.
En fait, cela ne supprime pas la variable / propriété. Tout ce qu'il fera est de définir sa valeur sur None
, donc la variable prendra toujours de la place en mémoire. Si vous voulez effacer complètement toute l'existence de la variable de la mémoire, vous pouvez simplement taper:
del self.left
Si vous voulez le supprimer totalement, utilisez del
:
del your_varaible
Ou autrement:
your_varaible=None
Btw, si vous avez une liste ou un tuple, peut le rendre vide comme:
your_varaible.clear()
Alors {[4] } sera vide