[Python] avrei bisogno del valore null... o almeno credo...
Y3s
y3s a katamail.com
Mer 30 Gen 2008 18:41:07 CET
Il giorno 30/gen/08, alle ore 18:18, Java ha scritto:
>
<CUT>
> testa = null
> for elem in lista:
> if elem.getEtichetta() == lista[0]:
> testa = elem
> else:
> testa = Elemento()
>
> # da qui in poi lavoro su testa
>
> Spero che si capisca che "testa" può essere sia un nuovo oggetto
> Elemento e sia un'oggetto già presente in rete.
Penso che stai "ragionando in un altro linguaggio", non in python.
Comunque, col tempo farai refactoring ;-)
In python (e in altri linguaggi "furbi") non c'è alcun bisogno di
metodi getter/setter. Accedi direttamente all'attributo che ti
interessa, se poi un giorno hai bisogno di controllare l'accesso
trasformerai l'attributo in una property e il tutto ti funzionerà
automaticamente, senza modificare nient'altro. Comunque non mi è
molto chiaro il tuo problema, ma il codice che hai scritto mi sembra
errato, per ogni elemento della lista, se getEtichetta() non è uguale
a lista[0] viene creato un nuovo oggetto "Elemento" che poi viene
perso. Dovresti quantomeno mettere un'istruzione di uscita dal ciclo
da qualche parte, ma probabilmente esiste una strada migliore. Di
preciso, cosa devi fare?
> Quello che ci faccio dopo è identico in entrambi i casi, ma senza
> valore
> "null" non so come fare....
In python esiste l'oggetto "None", che viene sempre valutato "False".
In ogni caso non mi sembra che ti serva.
>
> Potrei subito creare testa = Elemento(), ma se poi invece devo solo
> aggiornare un valore già presente, ho creato inutilmente un nuovo
> oggetto che resterà in giro fino al prossimo garbage collecting...
Ecco, appunto :-)
Ti consiglio di non porti troppi problemi del genere, a meno che
questo oggetto "Elemento" non pesi davvero troppo non è proprio un
problema crearlo. Soprattutto visto che nel codice sopra ne crei len
(lista) - 1 ;-)
--
Antonio Valente
More information about the Python
mailing list