Se vuoi rimanere nell'ambito della shell interattiva ti può tornare utile la funzione builtin:<div><br></div><div>dir()</div><div><br></div><div>che mostra la lista dei nomi nello scope corrente.</div><div><br></div><div>
E la funzione:</div><div><br></div><div>del(nome)</div><div><br></div><div>per eliminare variabili.</div><div><br></div><div>Piccolo esempio:</div><div><br></div><div><div>>>> dir()</div><div>['__builtins__', '__doc__', '__name__', '__package__']</div>
<div>>>> nome = "pippo"</div><div>>>> dir()</div><div>['__builtins__', '__doc__', '__name__', '__package__', 'nome']</div><div>>>> del nome</div>
<div>>>> dir()</div><div>['__builtins__', '__doc__', '__name__', '__package__']</div></div><div><br></div><div>Ciao,</div><div><br></div><div>Emanuele<br><br><div class="gmail_quote">
Il giorno 06 luglio 2010 18.06, Filippo Dal Bosco - <span dir="ltr"><<a href="mailto:Filippo.Dalbosco@libero.it">Filippo.Dalbosco@libero.it</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Premessa sto iniziando a studiare python per hobby, unico altro<br>
linguaggio che ho usato moltissimi anni fa è stato db3 e clipper<br>
( quindi niente oggetti).<br>
Pur usando abitualmente linux sto facendo i primi esperimenti con<br>
PythonWin che al momento mi sembra abbastanza comodo, ma ho il segunte<br>
problema:<br>
<br>
se lancio in pythonWin il banale script<br>
------------------------------------------------------<br>
class Cappuccetto:<br>
def Nonna(self):<br>
print "Class Cappuccetto Abcd"<br>
Lupo=Cappuccetto()<br>
Cappuccetto.Nonna(Lupo)<br>
# oppure<br>
Lupo.Nonna()<br>
print str(id(Lupo)) +" id Lupo=Capucetto"<br>
Lupo="sfigato"<br>
print str(id(Lupo)) + " id Lupo Sfigato"<br>
----------------------------------------------------------<br>
funziona<br>
<br>
se lo modifico (in maniera scorretta)<br>
------------------------------------------------------------<br>
class Cappuccetto:<br>
def Nonna(self):<br>
print "Class Cappuccetto Abcd"<br>
Lupo=Cappuccetto()<br>
Cappuccetto.Nonna(Lupo)<br>
# oppure<br>
Lupo.Nonna()<br>
print str(id(Lupo)) +" id Lupo=Capucetto"<br>
Lupo="sfigato"<br>
print str(id(Lupo)) + " id Lupo Sfigato"<br>
<br>
funziona....<br>
<br>
Se chiudo PythonWin e lo rilancio NON funziona e dice che Lupo non<br>
esiste.<br>
<br>
Questo vuol dire che Lupo è rimasto in memoria dopo il primo script<br>
corretto ed ha permesso al secondo script scorretto di funzionare.<br>
Infatti per verificare ho aggiunto id(Lupo)<br>
<br>
Questo mi incasina lo studio di Python perchè se faccio delle prove<br>
con script leggermente diversi rischio di non capire se realmente<br>
funzionano o meno.<br>
<br>
Domada c' è un modo di distruggere le variabili?<br>
Basterebbe mettere alla fine di ogni script la loro distruzione per<br>
risolvere il problema.<br>
<br>
grazie<br>
<font color="#888888"><br>
<br>
--<br>
Filippo<br>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</font></blockquote></div><br></div>