Est-il un moyen de supprimer créé des variables, des fonctions, etc à partir de la mémoire de l'interprète?

J'ai été la recherche de la réponse exacte à cette question pour un couple de jours maintenant, mais n'ai rien de bon. Je ne suis pas un débutant en programmation, mais pas encore au niveau intermédiaire.

Quand je suis dans le shell Python, j'type: dir() et je peux voir tous les noms de tous les objets dans le champ d'application actuel (bâtiment principal), il y a 6 d'entre eux:

['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']

Puis, quand je suis à la déclaration d'une variable, par exemple x = 10, il ajoute automatiquement pour que les listes d'objets en vertu de l'intégré dans le module dir(), et quand je tape dir() encore une fois, il montre maintenant:

['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'x']

Il en va de même pour les fonctions, les classes, et ainsi de suite.

Comment puis-je supprimer tous les nouveaux objets sans effacement de la norme 6, qui lorsqu'ils sont disponibles dès le début?

J'ai lu ici sur "la mémoire de nettoyage", "nettoyage de la console", qui efface tout le texte à partir de la fenêtre d'invite de commande:

>>> import sys
>>> clear = lambda: os.system('cls')
>>> clear()

Mais tout cela n'a rien à voir avec ce que je suis en train de réaliser, il n'a pas de nettoyer tous les objets utilisés.

  • Pourquoi avez-vous besoin de faire cela, ou êtes-vous juste d'avoir de la curiosité?
  • Je ne savais pas qu'il y est un del fonction de là-bas. Je commence à apprendre le langage Python et souvent d'expérience dans la coque, de façon standard, les noms de variables comme x ou y sont souvent déjà en cours d'utilisation et le redémarrage de la coquille prend une autre de 15 secondes à faire (j'ai un très, très vieux portable maintenant). Je voulais donc trouver un moyen de nettoyer Python de la mémoire plus rapide.
  • Ah. FWIW, del n'est pas exactement une fonction, donc pas de ( et ). C'est un mot clé qui introduit une del déclaration. Bien sûr, comment il fait supprime un objet peut impliquer des fonctions, mais c'est une autre histoire...
  • Lors de l'expérimentation dans la coquille des noms comme x ou y ne doit pas être utilisé à moins que vous les utilisez. Ou à moins que vous faire quelque chose de stupide comme from _somemodule_ import *, alors vous aurez toutes sortes d'ordures qui encombrent la place. 🙂
  • Double Possible de Comment puis-je effacer toutes les variables au moyen d'un script Python?
  • Je pense que les réponses à mes questions sont les meilleurs, parce qu'ils contiennent des informations supplémentaires et sont beaucoup plus simples que celles prévues pour la question référencés. Est-il encore être considéré comme un doublon et enlevée, même si les réponses sont les meilleures? Je vous remercie.
  • J'ai googlé mon chemin à cette question et maintenant je me demande - pourquoi ne puis-je pas juste redémarrer le noyau et ré-exécutez le script à partir du haut si je veux supprimer toutes les variables et les fonctions de toute façon?

InformationsquelleAutor funghorn | 2014-10-24