[Python] Salve.
Buongiorno a tutti. Sono un principiante assoluto del linguaggio che intendo apprendere per puro divertimento e per dare sfogo alla mia creatività. Ho letto per intero, non studiato... il tutorial di Guido Vanrossum, il libro di Marco beri e sono ad 1/3 di Pensare da informatico. Dove possibile, leggo in italiano ma posso mettermi anche su testi in inglese. Python mi sembra affascinante e divertente, tuttavia, come logico che sia, ci sono degli scalini concettuali che bisogna necessariamente superare nel processo di apprendimento. Uno di questi, per me, sono le classi. penso di aver afferrato l'idea generale purtuttavia, mi riesce estremamente difficile famigliarizzare con la sintassi. Gli esempi che trovo spesso danno per scontate conoscenze che non posseggo o implementano cose non necessarie a chi guarda la definizione di classe per la prima volta. In particolare e mi rendo conto che questo probabilmente farà sorridere il 99% di chi mi legge, sono abbastanza confuso dal termine self. class miaclasse(): def metodo(self): #Perchè self? self.a = 15 #di nuovo, perchè? Cosa succede se non lo metto? che cos'è self.a? ... Sono iscritto alla lista da qualche giorno e, solo questa mattina ho trovato messaggi... Siccome preferisco le mailinglist ai forum, vi chiedo se ne esistono di più attive o, eventualmente, di specifiche per gente dalle domande ingenue e basilari come le mie. Oppure ancora, avreste da suggerire qualche materiale da leggere online (per i libri cartacei ho delle difficoltà), che affrontino la spiegazione delle classi da un altro punto di vista? In fine, è corretto e accettato dal regolamento di questa mailing list, che io vi posti ogni tanto le mie curiosità, anche se si tratta di domande estremamente banali? Grazie mille in anticipo. GB. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Salve.
Il 22 marzo 2013 09:05, Gabriel Battaglia (Kriyaban) iz4...@libero.it ha scritto: Buongiorno a tutti. Sono un principiante assoluto del linguaggio che intendo apprendere per puro divertimento e per dare sfogo alla mia creatività. Ciao e benvenuto Ho letto per intero, non studiato... il tutorial di Guido Vanrossum, il libro di Marco beri e sono ad 1/3 di Pensare da informatico. Dove possibile, leggo in italiano ma posso mettermi anche su testi in inglese. Ottime scelte! di ottimo ci sta anche la documentazione di python, altrimenti ho sentito parlare bene del libro di alex martelli anche e mark lutz. Python mi sembra affascinante e divertente, tuttavia, come logico che sia, ci sono degli scalini concettuali che bisogna necessariamente superare nel processo di apprendimento. Uno di questi, per me, sono le classi. penso di aver afferrato l'idea generale purtuttavia, mi riesce estremamente difficile famigliarizzare con la sintassi. Gli esempi che trovo spesso danno per scontate conoscenze che non posseggo o implementano cose non necessarie a chi guarda la definizione di classe per la prima volta. In particolare e mi rendo conto che questo probabilmente farà sorridere il 99% di chi mi legge, sono abbastanza confuso dal termine self. class miaclasse(): def metodo(self): #Perchè self? self.a = 15 #di nuovo, perchè? Cosa succede se non lo metto? che cos'è self.a? Il termine self riportato all'interno della classe è un riferimento esplicito alla classe stessa. Questo perchè ci possono essere delle variabili globali con lo stesso nome che hanno valore dentro il modulo (file.py) che stai scrivendo e che hanno lo stesso nome della variabile che stai usando. Ad esempio a livello di modulo potresti scrivere cosi # prova.py a= 10 class miaclasse(): def metodo(self): global a # dichiari che la variabile a è globale self.a = 5 print self.a = , sefl.a print a = , mc = miaclasse() # istanzi la classe e la assegni alla variabile mc mc.metodo() # chiami il metodo se esegui questo modulo capisci le differenze tra le variabili e l'utilizzo di self. Questo spiegato da me è uno degli esempi più stupidi, ma per approfondimenti sul self lascio la parola ai più esperti. Oppure ancora, avreste da suggerire qualche materiale da leggere online (per i libri cartacei ho delle difficoltà), che affrontino la spiegazione delle classi da un altro punto di vista? vedi sopra, per il materiale esclusivamente online ribadisco la documentazione di python che è ottima. Pensare da informatico ti serve per capire i concetti generali, poi puoi passare direttamente alla documentazione di python che è chiarissima e ricca di esempi- In fine, è corretto e accettato dal regolamento di questa mailing list, che io vi posti ogni tanto le mie curiosità, anche se si tratta di domande estremamente banali? Non ci sono domande banali o domande intelligenti, la lista è qui apposta per questo, ma tieni sempre conto che la gente super competente (tranne me) che gira qui dentro risponde sempre nel proprio tempo libero, quindi abbi pazienza se qualche volta non ti rispondono subito. Ciao Fabrizio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Salve.
Ciao, la lista e' viva... e che a volte dorme .. ma con parole tipo ruby o java ...potrebbe scatenarsi .. attento : per quanto riguarda il codice che hai scritto.. self e'un riferimento interno all'oggetto che istanzi .. tipo c1=miaclasse() c2=miaclasse() c1.a=10 c2.a=20 se metodo fosse def metodo(self): return self.a allora: print c1.metodo 10 print c2.metodo 20 ciao Matteo Il 22/03/2013 09:05, Gabriel Battaglia (Kriyaban) ha scritto: Buongiorno a tutti. Sono un principiante assoluto del linguaggio che intendo apprendere per puro divertimento e per dare sfogo alla mia creatività. Ho letto per intero, non studiato... il tutorial di Guido Vanrossum, il libro di Marco beri e sono ad 1/3 di Pensare da informatico. Dove possibile, leggo in italiano ma posso mettermi anche su testi in inglese. Python mi sembra affascinante e divertente, tuttavia, come logico che sia, ci sono degli scalini concettuali che bisogna necessariamente superare nel processo di apprendimento. Uno di questi, per me, sono le classi. penso di aver afferrato l'idea generale purtuttavia, mi riesce estremamente difficile famigliarizzare con la sintassi. Gli esempi che trovo spesso danno per scontate conoscenze che non posseggo o implementano cose non necessarie a chi guarda la definizione di classe per la prima volta. In particolare e mi rendo conto che questo probabilmente farà sorridere il 99% di chi mi legge, sono abbastanza confuso dal termine self. class miaclasse(): def metodo(self): #Perchè self? self.a = 15 #di nuovo, perchè? Cosa succede se non lo metto? che cos'è self.a? ... Sono iscritto alla lista da qualche giorno e, solo questa mattina ho trovato messaggi... Siccome preferisco le mailinglist ai forum, vi chiedo se ne esistono di più attive o, eventualmente, di specifiche per gente dalle domande ingenue e basilari come le mie. Oppure ancora, avreste da suggerire qualche materiale da leggere online (per i libri cartacei ho delle difficoltà), che affrontino la spiegazione delle classi da un altro punto di vista? In fine, è corretto e accettato dal regolamento di questa mailing list, che io vi posti ogni tanto le mie curiosità, anche se si tratta di domande estremamente banali? Grazie mille in anticipo. GB. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Salve.
Anche per me il self è un qualcosa che non ho capito, quindi mi associo alla richiesta di Gabriel. Il giorno 22 marzo 2013 09:05, Gabriel Battaglia (Kriyaban) iz4...@libero.it ha scritto: Buongiorno a tutti. Sono un principiante assoluto del linguaggio che intendo apprendere per puro divertimento e per dare sfogo alla mia creatività. Ho letto per intero, non studiato... il tutorial di Guido Vanrossum, il libro di Marco beri e sono ad 1/3 di Pensare da informatico. Dove possibile, leggo in italiano ma posso mettermi anche su testi in inglese. Python mi sembra affascinante e divertente, tuttavia, come logico che sia, ci sono degli scalini concettuali che bisogna necessariamente superare nel processo di apprendimento. Uno di questi, per me, sono le classi. penso di aver afferrato l'idea generale purtuttavia, mi riesce estremamente difficile famigliarizzare con la sintassi. Gli esempi che trovo spesso danno per scontate conoscenze che non posseggo o implementano cose non necessarie a chi guarda la definizione di classe per la prima volta. In particolare e mi rendo conto che questo probabilmente farà sorridere il 99% di chi mi legge, sono abbastanza confuso dal termine self. class miaclasse(): def metodo(self): #Perchè self? self.a = 15 #di nuovo, perchè? Cosa succede se non lo metto? che cos'è self.a? ... Sono iscritto alla lista da qualche giorno e, solo questa mattina ho trovato messaggi... Siccome preferisco le mailinglist ai forum, vi chiedo se ne esistono di più attive o, eventualmente, di specifiche per gente dalle domande ingenue e basilari come le mie. Oppure ancora, avreste da suggerire qualche materiale da leggere online (per i libri cartacei ho delle difficoltà), che affrontino la spiegazione delle classi da un altro punto di vista? In fine, è corretto e accettato dal regolamento di questa mailing list, che io vi posti ogni tanto le mie curiosità, anche se si tratta di domande estremamente banali? Grazie mille in anticipo. GB. __**_ Python mailing list Python@lists.python.it http://lists.python.it/**mailman/listinfo/pythonhttp://lists.python.it/mailman/listinfo/python -- Cordiali saluti. Antonino Cardillo. E-mail: antoninocardillo...@gmail.com Cell. 393-6214016 Skype: antonino73 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Salve.
Gabriel Battaglia (Kriyaban) ha scritto: Buongiorno a tutti. Sono un principiante assoluto del linguaggio che intendo apprendere per puro divertimento e per dare sfogo alla mia creatività. Ciao e benvenuto Benvenuto anche da me. Ho letto per intero, non studiato... il tutorial di Guido Vanrossum, Van Rossum il libro di Marco beri Beri. La precisione è importante per noi informatici. Com'è come benvenuto? ;-) sono abbastanza confuso dal termine self. class miaclasse(): def metodo(self): #Perchè self? self.a = 15 #di nuovo, perchè? Cosa succede se non lo metto? che cos'è self.a? Fabrizio Mancini wrote: Il termine self riportato all'interno della classe è un riferimento esplicito alla classe stessa. No no no. La risposta giusta è quella di Matteo B. Questo perchè ci possono essere delle variabili globali con lo stesso nome che hanno valore dentro il modulo (file.py) che stai scrivendo e che hanno lo stesso nome della variabile che stai usando. Le globali non c'entrano nulla qui. Una ripassata a classi e oggetti potrebbe giovare. In fine, è corretto e accettato dal regolamento di questa mailing list, che io vi posti ogni tanto le mie curiosità, anche se si tratta di domande estremamente banali? Non ci sono domande banali o domande intelligenti, Vero. Le risposte invece possono essere giuste o sbagliate. ;-) Non sapere non è un problema. Non sapere di non sapere *è* un problema. Ora lo sai. :-) Someone is _wrong_ on the Internet. http://xkcd.com/386/ Land of Confusion - Genesis http://www.youtube.com/watch?v=TlBIa8z_Mts (brano brutto, peraltro) Sorry. E` uno sporco lavoro, ma qualcuno deve farlo. :-P -- Nicola Larosa - http://www.tekNico.net/ The USA culture has been psychotic from the outset. It considers itself a gift to humanity and a beacon of freedom. Yet it has been built on the stolen lands of decimated indigenous cultures and destroyed habitats. [...] A collective cultural suicide appears [to be] the only cure. - Unknown on Dmitry Orlov's blog, July 2012 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Salve.
On Fri, Mar 22, 2013 at 09:19:42AM +0100, Fabrizio Mancini wrote: Il 22 marzo 2013 09:05, Gabriel Battaglia (Kriyaban) Python mi sembra affascinante e divertente, tuttavia, come logico che sia, ci sono degli scalini concettuali che bisogna necessariamente superare nel processo di apprendimento. Uno di questi, per me, sono le classi. penso di aver afferrato l'idea generale purtuttavia, mi riesce estremamente difficile famigliarizzare con la sintassi. Gli esempi che trovo spesso danno per scontate conoscenze che non posseggo o implementano cose non necessarie a chi guarda la definizione di classe per la prima volta. In particolare e mi rendo conto che questo probabilmente farà sorridere il 99% di chi mi legge, sono abbastanza confuso dal termine self. class miaclasse(): def metodo(self): #Perchè self? self.a = 15 #di nuovo, perchè? Cosa succede se non lo metto? che cos'è self.a? Il termine self riportato all'interno della classe è un riferimento esplicito alla classe stessa. ehm, forse volevi dire all'oggetto. class A: pass a = A b = B() `a` è un riferimento alla classe, `b` è un riferimento all'oggetto. forse è più corretto dire che è il nome di un riferimento infatti il parametro `self` _non deve_ essere chiamato così ma è fortemente consigliato per congruenza. Altri linguaggi come il java i metodi non hanno un parametro esplicito per referenziare l'oggetto ma utilizzano una keyword del linguaggio, this nel caso di java. class Spam: def foo(self): print self def bar(s): print s in questo caso `foo` e `bar` hanno esattamente lo stesso comportamento. in generale gli oggetti in python non sono molto diversi che in altri linguaggi quindi può valere la pena di leggere qualcosa a proposito della programmazione ad oggetti stessa e poi utilizzare le risorse che tu stesso hai indicato come riferimento per quei dettagli specifici di python. confermo che il libro di martelli è un buon libro ma datato, allora python2.5 non era ancora uscito, e soprattutto non una guida di base per la programmazione ma piuttosto una guida di riferimento. non so' se pensare da informatico è dive into python ma dive into python, e probabilmente dive into python3 ma non l'ho letto, è un'ottima introduzione per chi inizia. (sono sempre online?) m. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Annidamento di funzioni
On Thu, Mar 21, 2013 at 09:31:11PM +, Daniele Varrazzo wrote: On 2013-03-21 19:16, Matteo Boscolo wrote: * quante volte posso annidare una funzione dentro un altra prima che python si incazzi ? Nell'ordine della dimensione dello stack direi, per cui tu ti scoccierai molto prima di quando l'interprete perderà la pazienza. * c'è qualche problema di performance nell'annidare le funzioni in questo modo ? No: in realtà le funzioni vengono compilate quando il modulo è importato, insieme a quelle esterne, e non quando la funzione interna viene chiamata: la loro compilazione è statica. Quello che fa il def è solo creare una chiusura, ovvero associare l'oggetto di codice al valore delle variabili non-locali. Un po' di curiosità nell'interprete interattivo aiuta a capire: molto interessante. La programmazione a oggetti è un modo inferiore di fare la stessa cosa: associare uno stato a del codice. La sto buttando un po' trollosa [...] credo di aver capito cosa intendi ma mi sembra un po' riduttivo ridurre la programmazione ad oggetti a questo. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Salve.
Il 22 marzo 2013 10:17, Marco Giusti marco.giu...@gmail.com ha scritto: ehm, forse volevi dire all'oggetto. L'ho detto che questa è una lista di esperti, ma io mi sono tirato fuori prima!!! :-) e non sono neanche un'informatico!!! o almeno non sono mai stato un programmatore per lavoro ;-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Salve.
On Fri, Mar 22, 2013 at 09:05:45AM +0100, Gabriel Battaglia (Kriyaban) wrote: questo probabilmente farà sorridere il 99% di chi mi legge, sono abbastanza confuso dal termine self. class miaclasse(): def metodo(self): #Perchè self? self.a = 15 #di nuovo, perchè? Cosa succede se non lo metto? che cos'è self.a? Provo a cimentarmi in una risposta non rigorosa, vediamo se sarà efficace. Premetto una nota, 'self' non è una parola magica, potresti sostituirla con una altra parola e tutto funzionerebbe:: class Montagna(object): def __init__(me, name): me.name = name def chi_sono(me): print 'Monte', me.name (Questo NON è un suggerimento di sostituirla!) Pensa alle classi come a degli stampini che producono oggetti uguali sotto alcuni punti di vista (es.: hanno gli stessi metodi). m1 = Montaga('Bianco') m2 = Montaga('Ortles') è l'operazione con cui dallo stampino produci l'oggetto (istanza della classe). Ora se sei all'interno di un metodo, poniti il problema di riferirti a il mio nome, quello della istanza. In virtù delle regole della visibilità dei nomi delle variabili di Python (che è forse la parte preliminare alla comprensione di questo argomento) 'print name' cercherebbe 'name' prima nelle variabili locali e poi in quelle globali, ma non negli attributi della istanza, questa esigenza è soddisfatta dalla scrittura self.nome (me.nome nell'esempio sopra) La convenzione è di referenziare l'oggetto col nome 'self' quando sei all'interno della classe stessa, ma questa convenzione è implementata nel fatto che ogni metodo è chiamato mettendo l'istanza come primo argomento, nulla di magico. Se -nella definizione del metodo- hai chiamato l'istanza 'self' necessariamente l'attributo dell'istanza sarà self.nome, se lo hai chiamto 'me', sarà me.nome. Spero ti sia di aiuto... sandro *:-) -- Sandro Dentella *:-) http://www.reteisi.org Soluzioni libere per le scuole http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] DataFrame multidimensionale in pandas
Ciao, sto esplorando la possibilita` di maneggiare files grib in python convertendoli in una struttura simile ad un database spaziale, e mi chiedevo se qualcuno di voi avesse utilizzato qualcosa di simile con pandas. Quello che voglio costruire e` una matrice multidimensionale, in cui x e y sarebbero latitudine e longitudine, mentre gli n layer rimanenti (n dimensioni) dovrebbero essere popolati con varie informazioni che ricavo da un file grib, per leggere il quale ho trovato il frontend Python delle GRIB API (Pygrib). Avete qualche esempio o esperienza da condividere? Grazie in anticipo. -- Best regards, Margherita DI LEO Postdoctoral Researcher European Commission - DG JRC Institute for Environment and Sustainability (IES) Via Fermi, 2749 I-21027 Ispra (VA) - Italy - TP 261 Tel. +39 0332 78 3600 margherita.di-...@jrc.ec.europa.eu Disclaimer: The views expressed are purely those of the writer and may not in any circumstance be regarded as stating an official position of the European Commission. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] [OT] Re: Salve.
Grazie a tutti per il benvenuto, le correzioni, le idee, gli esempi e le spiegazioni. Mi sono sentito capito, accolto ed aiutato e rinnovo lo slancio con cui mi rimetterò ad apprendere. Grazie infinite a tutti. GB. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Salve.
On Fri, Mar 22, 2013 at 10:25:17AM +0100, Fabrizio Mancini wrote: Il 22 marzo 2013 10:17, Marco Giusti marco.giu...@gmail.com ha scritto: ehm, forse volevi dire all'oggetto. L'ho detto che questa è una lista di esperti, ma io mi sono tirato fuori prima!!! :-) e non sono neanche un'informatico!!! o almeno non sono mai stato un programmatore per lavoro ;-) non ti devi giustificare, non si nasce imparati, non ti correggiamo per il gusto di farlo e soprattutto lo facciamo in maniera amicale e soprattutto, ancora, a volte trovo molto istruttivo sbagliare. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Salve.
Il 22 marzo 2013 10:51, Marco Giusti marco.giu...@gmail.com ha scritto: non ti devi giustificare, non si nasce imparati, non ti correggiamo per il gusto di farlo e soprattutto lo facciamo in maniera amicale e soprattutto, ancora, a volte trovo molto istruttivo sbagliare. Lungi da me dal volermi giustificare, non siamo mica all'interrogazione!! :-) (spero! :-)) è che programmare mi piace molto ma lo faccio nei ritagli di tempo, anche se mi mancano parecchie strutture mentali e parecchia tecnica (e pratica!) Ormai, lavorativamente parlando, sono uscito dall'informatica da parecchi anni anche se la seguo sempre, ma non ho mai potuto dedicarmi molto alla programmazione e l'ho sempre fatto da autodidatta, purtroppo. Ma continuo ad imparare, anche da queste risposte che avete dato! ciao e grazie fabrizio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] R: Salve.
Ciao a tutti, sono una principiante, ma credo di aver capito a cosa serve istanzia una classe, o una funzione, con il self, al lato pratico. In pratica nel momento in cui la istanzi con il self, allinterno di una funzione, la puoi richiamare anche in unaltra funzione. Ciao Da: python-boun...@lists.python.it [mailto:python-boun...@lists.python.it] Per conto di Antonino Cardillo Inviato: venerdì 22 marzo 2013 09:24 A: Discussioni generali sul linguaggio Python Oggetto: Re: [Python] Salve. Anche per me il self è un qualcosa che non ho capito, quindi mi associo alla richiesta di Gabriel. Il giorno 22 marzo 2013 09:05, Gabriel Battaglia (Kriyaban) iz4...@libero.it ha scritto: Buongiorno a tutti. Sono un principiante assoluto del linguaggio che intendo apprendere per puro divertimento e per dare sfogo alla mia creatività. Ho letto per intero, non studiato... il tutorial di Guido Vanrossum, il libro di Marco beri e sono ad 1/3 di Pensare da informatico. Dove possibile, leggo in italiano ma posso mettermi anche su testi in inglese. Python mi sembra affascinante e divertente, tuttavia, come logico che sia, ci sono degli scalini concettuali che bisogna necessariamente superare nel processo di apprendimento. Uno di questi, per me, sono le classi. penso di aver afferrato l'idea generale purtuttavia, mi riesce estremamente difficile famigliarizzare con la sintassi. Gli esempi che trovo spesso danno per scontate conoscenze che non posseggo o implementano cose non necessarie a chi guarda la definizione di classe per la prima volta. In particolare e mi rendo conto che questo probabilmente farà sorridere il 99% di chi mi legge, sono abbastanza confuso dal termine self. class miaclasse(): def metodo(self): #Perchè self? self.a = 15 #di nuovo, perchè? Cosa succede se non lo metto? che cos'è self.a? ... Sono iscritto alla lista da qualche giorno e, solo questa mattina ho trovato messaggi... Siccome preferisco le mailinglist ai forum, vi chiedo se ne esistono di più attive o, eventualmente, di specifiche per gente dalle domande ingenue e basilari come le mie. Oppure ancora, avreste da suggerire qualche materiale da leggere online (per i libri cartacei ho delle difficoltà), che affrontino la spiegazione delle classi da un altro punto di vista? In fine, è corretto e accettato dal regolamento di questa mailing list, che io vi posti ogni tanto le mie curiosità, anche se si tratta di domande estremamente banali? Grazie mille in anticipo. GB. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Cordiali saluti. Antonino Cardillo. E-mail: antoninocardillo...@gmail.com Cell. 393-6214016 Skype: antonino73 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python