Re: [Python] avrei bisogno del valore null... o almeno credo...
On 1/31/08 12:16 PM, "Lawrence Oluyede" <[EMAIL PROTECTED]> wrote: > Soffre di un problema pero`. Per vari motivi di design le variabili > pubbliche non sono usabili per fare il binding quali sorgenti di dati. > Inoltre il codice generato per le properties e le variabili pubbliche > e` differente. Interessante... > Indi per cui anche per la variabile pubblica piu` scema tutti usano le > properties. E siamo da capo >D Mica ho detto che è perfetto, eh. :P Tra l'altro se mi piacesse o mi ispirasse lo studierei con un minimo di applicazione. Invece francamente me ne impippo: l'ho sondato, fra mono qui su e la ho stabilito che non mi interessa. Anche perché l'enne+unesimo linguaggio che non uso almeno deve garbarmi. Che so... SML. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
> > Che dovrebbe per l'appunto essere la storia delle cosidette properties. Soffre di un problema pero`. Per vari motivi di design le variabili pubbliche non sono usabili per fare il binding quali sorgenti di dati. Inoltre il codice generato per le properties e le variabili pubbliche e` differente. Indi per cui anche per la variabile pubblica piu` scema tutti usano le properties. E siamo da capo >D -- Lawrence, stacktrace.it - oluyede.org - neropercaso.it "It is difficult to get a man to understand something when his salary depends on not understanding it" - Upton Sinclair ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
On Jan 31, 2008, at 11:32 AM, [EMAIL PROTECTED] wrote: > in C# (che tra l'altro ricorda molto java) c'è pure una specie > di sistema automatico per get-set di variabili Che dovrebbe per l'appunto essere la storia delle cosidette properties. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
>C# dalla regia dicono che pure ci sono delle properties.in C# (che tra l'altro ricorda molto java) c'è pure una specie di sistema automatico per get-set di variabili ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Tutta la musica che vuoi sul tuo cellulare. Scarica le HIT Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=7513&d=20080131 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
On Jan 30, 2008, at 6:54 PM, Java wrote: > mmm senza quel testa = None, la variabil testa si vedrebbe fuori dal > ciclo for?? Se si allora non ci vuole E' una cosa che sorprende spesso anche me. Ti cito un passo del Python in a Nutshell. A function's parameters, plus any variables that are bound (by assignment or by other binding statements) in the function body, make the function's local namespace, also known as local scope. Direi che è abbastanza chiaro. > mmm forse si, ma ora sono veramente fuso (tra lavoro e studio ho fatto > 11 ore al pc :-( ) >> Cerca comunque sempre di pensare in maniera pythonica, non di tradurre codice 'pensato' in altri linguaggi. Con il tempo viene naturale. C'era un vecchio adagio sul fatto che i programmatori Lisp fossero talmente abituati a soluzioni eleganti da tirarne fuori di particolarmente eleganti anche quando 'costretti' ad usare 'linguaggi da meno'. > hem rimasugli di UML e Ingegneria del software. Sigh, non si rendono nemmeno conto di quanto male faccia insegnare UML. :( Ad ogni modo in *Python* usiamo direttamente il valore senza passare per i setter. Questo si può fare perchè c'è property che in caso di bisogno ti cava d'impiccio senza bisgno di modificare il codice. Effettivamente in altri linguaggi passi proprio per dei getter e setter. La cosa per esempio è sensata in Java e in C++ (anche se in Java fra IDE, beans e tutto ce la si scavella). In Ruby al di la del fatto che pure hai un modo facile per creare getter e setter, a tutti gli effetti li stai usando (anche se non li definisci esplicitamente). In C# dalla regia dicono che pure ci sono delle properties. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
Francesco Guerrieri ha scritto: > > > # devo aggiornare questa lista > rete = [] > # usando i dati di questa > lista = [ > testa = null > for elem in lista: >if elem.getEtichetta() == lista[0]: > testa = elem >else: > testa = Elemento() > > # da qui in poi lavoro su testa > > > Non mi è chiaro il tuo problema > Dall'esempio di codice che hai mandato, non c'è nessuno bisogno di > creare un nameholder testa > (comunque sarebbe testa = None) > mmm senza quel testa = None, la variabil testa si vedrebbe fuori dal ciclo for?? Se si allora non ci vuole > semplicemente nei due casi assegni testa a due oggetti diversi, > di volta in volta o elem o Elemento() > Ti faccio ntoare che il tuo codice assegna testa all'ULTIMO elem in > lista che abbia l'etichetta giusta. Ultimo e unico, (se tutto è andato bene :-D) > > Ma forse il codice che volevi scrivere era: > > rete = [elem for elem in lista if elem.etichetta == qualcosa] > mmm forse si, ma ora sono veramente fuso (tra lavoro e studio ho fatto 11 ore al pc :-( ) > ? > Non mi piace molto neanche il metodo getEtichetta, non ti basta > leggere elem.etichetta? hem rimasugli di UML e Ingegneria del software. > ciao, > Francesco adieu ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
On Jan 30, 2008 6:18 PM, Java <[EMAIL PROTECTED]> wrote: > Prima di tutto chiedo perdono per il bombardamento di domande... > > Poi... ecco di cosa vrei bisogno (una riga di pseudocodice vale più di > mille parole): > > # devo aggiornare questa lista > rete = [] > # usando i dati di questa > lista = [ > 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. > > Quello che ci faccio dopo è identico in entrambi i casi, ma senza valore > "null" non so come fare > > 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... > > Non mi è chiaro il tuo problema Dall'esempio di codice che hai mandato, non c'è nessuno bisogno di creare un nameholder testa (comunque sarebbe testa = None) semplicemente nei due casi assegni testa a due oggetti diversi, di volta in volta o elem o Elemento() Ti faccio ntoare che il tuo codice assegna testa all'ULTIMO elem in lista che abbia l'etichetta giusta. Ma forse il codice che volevi scrivere era: rete = [elem for elem in lista if elem.etichetta == qualcosa] ? Non mi piace molto neanche il metodo getEtichetta, non ti basta leggere elem.etichetta? ciao, Francesco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
Il giorno 30/gen/08, alle ore 18:18, Java ha scritto: > > 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 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] avrei bisogno del valore null... o almeno credo...
Prima di tutto chiedo perdono per il bombardamento di domande... Poi... ecco di cosa vrei bisogno (una riga di pseudocodice vale più di mille parole): # devo aggiornare questa lista rete = [] # usando i dati di questa lista = [http://lists.python.it/mailman/listinfo/python