Aşağıdaki komut dizisi, her adı geçerli modülden kaldırır :
>>> import sys
>>> sys.modules[__name__].__dict__.clear()
Aslında bunu yapmak istediğinizden şüpheliyim, çünkü "her isim" tüm yerleşikleri içerir, bu yüzden böyle bir toplam silme işleminden sonra yapabileceğiniz pek bir şey yoktur. Unutmayın, Python'da "değişken" diye bir şey yoktur - birçok türde nesneler vardır (modüller, işlevler, sınıf, sayılar, dizeler, ... dahil) ve nesnelere bağlı isimler vardır ; dizinin yaptığı şey, bir modülden her ismi kaldırmaktır (karşılık gelen nesneler, ancak ve ancak onlara yapılan her referans kaldırılmışsa kaybolur).
Belki daha seçici olmak istersiniz, ancak daha spesifik olmak istemediğiniz sürece tam olarak ne demek istediğinizi tahmin etmek zordur. Ama bir örnek vermek gerekirse:
>>> import sys
>>> this = sys.modules[__name__]
>>> for n in dir():
... if n[0]!='_': delattr(this, n)
...
>>>
Bu sekans, __builtins__tüm yerleşik isimleri barındıran özel ad da dahil olmak üzere özel veya büyülü isimleri yalnız bırakır . Yani, yerleşikler hala çalışıyor - örneğin:
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'n']
>>>
Gördüğünüz gibi, ad n(buradaki kontrol değişkeni for) de ( forher seferinde cümlecikte yeniden bağlandığı için) etrafta kalmaktadır , bu nedenle bu kontrol değişkenini adlandırmak _, örneğin "o özel "(artı, etkileşimli yorumlayıcıda ad _, komut istemine girilen her tam ifadeden sonra, bu ifadenin değerine yeniden bağlanır, böylece uzun süre kalmaz ;-).
Bunun tam olarak ne belirledikten sonra neyse, olan yapmak istediğiniz, bu amaç için bir işlev tanımlayıp ((yalnızca etkileşimli oturumlarda bunu istiyorsanız) başlangıç dosyaya koydu veya site özelleştirme dosyası zor değil her senaryoda istiyorsanız).