[Python] Salve.

2013-03-22 Per discussione Gabriel Battaglia (Kriyaban)

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.

2013-03-22 Per discussione Fabrizio Mancini
Il 22 marzo 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à.
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.

2013-03-22 Per discussione Matteo Boscolo

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.

2013-03-22 Per discussione Antonino Cardillo
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


Re: [Python] Salve.

2013-03-22 Per discussione Nicola Larosa
> 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. 

Land of Confusion - Genesis 
(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.

2013-03-22 Per discussione Marco Giusti
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

2013-03-22 Per discussione Marco Giusti
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.

2013-03-22 Per discussione Fabrizio Mancini
Il 22 marzo 2013 10:17, Marco Giusti  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.

2013-03-22 Per discussione Alessandro Dentella
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

2013-03-22 Per discussione Margherita Di Leo
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.

2013-03-22 Per discussione Gabriel Battaglia (Kriyaban)

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.

2013-03-22 Per discussione Marco Giusti
On Fri, Mar 22, 2013 at 10:25:17AM +0100, Fabrizio Mancini wrote:
> Il 22 marzo 2013 10:17, Marco Giusti  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.

2013-03-22 Per discussione Fabrizio Mancini
Il 22 marzo 2013 10:51, Marco Giusti  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.

2013-03-22 Per discussione Lorena
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, all’interno di una
funzione,  la puoi richiamare anche in un’altra 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)
 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


[Python] Importare moduli nell'interprete, da directories diverse.

2013-03-22 Per discussione Gabriel Battaglia (Kriyaban)

Ciao di nuovo.
Sul mio sistema Win32, python.exe risiede in "c:\python27\".
In questa directory ne ho creata una di nome "gb\", dove colleziono tutti gli scripts di esempio che copio dai libri o che mi 
invento io come esercizi e palestra per testare ciò che via via imparo.
Quando sono nell'interprete però, non ho ancora trovato il modo per importare un modulo .py, che non risieda nella stessa directory 
da cui lo lancio.

Ho provato con:
import gb\nomemodulo.py
stessa cosa ma con il percorso ed il nome del file fra virgolette..., con il doppio backslash, con lo slash al posto del backslash 
ma nulla.


Qualche suggerimento?

Grazie in anticipo.
GB. 


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importare moduli nell'interprete, da directories diverse.

2013-03-22 Per discussione Giuseppe Amato
Dovresti inserire il percorso nel PYTHONPATH. Inoltre c'è bisogno che nella
cartella ci sia un file __init__.py (anche vuoto va bene).
La sintassi è

from gb import nomemodulo.py

Se non sbaglio, modificando il file __init__.py potresti usare anche:

import gb.nomemodulo.py

però sinceramente non l'ho mai fatto

Ciao,

Prova a vedere anche www.google.it/search?q=python+import+folder

Il giorno 22 marzo 2013 13:03, Gabriel Battaglia (Kriyaban) <
iz4...@libero.it> ha scritto:

> Ciao di nuovo.
> Sul mio sistema Win32, python.exe risiede in "c:\python27\".
> In questa directory ne ho creata una di nome "gb\", dove colleziono tutti
> gli scripts di esempio che copio dai libri o che mi invento io come
> esercizi e palestra per testare ciò che via via imparo.
> Quando sono nell'interprete però, non ho ancora trovato il modo per
> importare un modulo .py, che non risieda nella stessa directory da cui lo
> lancio.
> Ho provato con:
> import gb\nomemodulo.py
> stessa cosa ma con il percorso ed il nome del file fra virgolette..., con
> il doppio backslash, con lo slash al posto del backslash ma nulla.
>
> Qualche suggerimento?
>
> Grazie in anticipo.
> GB.
> __**_
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/**mailman/listinfo/python
>



-- 

Giuseppe Amato
e-mail: giuam...@gmail.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: Salve.

2013-03-22 Per discussione Marco Beri
2013/3/22 Lorena 

> 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, all’interno di una
> funzione,  la puoi richiamare anche in un’altra funzione.
>
> Ciao
>

Lorena,
parlo per me: credo di non aver capito quello che hai capito :-)

Puoi fare un esempio di come useresti tu il self nel modo che indichi? Ho
il sospetto che, in realtà, ci sia ancora qualche nebbia da dipanare.

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importare moduli nell'interprete, da directories diverse.

2013-03-22 Per discussione Daniele Varrazzo

Il giorno 22 marzo 2013 13:03, Gabriel Battaglia (Kriyaban) <
iz4...@libero.it> ha scritto:



Ciao di nuovo.
Sul mio sistema Win32, python.exe risiede in "c:\python27\".
In questa directory ne ho creata una di nome "gb\", dove colleziono 
tutti

gli scripts di esempio che copio dai libri o che mi invento io come
esercizi e palestra per testare ciò che via via imparo.


On 2013-03-22 12:14, Giuseppe Amato wrote:
Dovresti inserire il percorso nel PYTHONPATH. Inoltre c'è bisogno che 
nella

cartella ci sia un file __init__.py (anche vuoto va bene).


Detto meglio, la cartella "c:\python27\" dovrebbe essere nel 
PYTHONPATH.


Puoi anche iniziare la tua sessione interattiva con:


import sys
sys.path.insert(0, r"c:\python27\")
from gb import nomemodulo# ora dovrebbe funzionare.


Resta che devi creare c:\python27\gb\__init__.py, anche vuoto.



La sintassi è

from gb import nomemodulo.py


Casomai: "from gb import nomemodulo"



Se non sbaglio, modificando il file __init__.py potresti usare anche:

import gb.nomemodulo.py

però sinceramente non l'ho mai fatto


Sì, dentro __init__.py devi importare tutto, ma non conviene farlo se 
la directory è solo un contenitore di pezzi assortiti.



--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importare moduli nell'interprete, da directories diverse.

2013-03-22 Per discussione Marco Giusti
On Fri, Mar 22, 2013 at 12:36:31PM +, Daniele Varrazzo wrote:
> >Se non sbaglio, modificando il file __init__.py potresti usare anche:
> >
> >import gb.nomemodulo.py
> >
> >però sinceramente non l'ho mai fatto
> 
> Sì, dentro __init__.py devi importare tutto, ma non conviene farlo
> se la directory è solo un contenitore di pezzi assortiti.

non necessariamente `import gb.nomemodulo` funziona a prescindere dal
contenuto di `__init__.py`

m.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Salve.

2013-03-22 Per discussione Giovanni Porcari

Il giorno 22/mar/2013, alle ore 10:42, Alessandro Dentella  ha 
scritto:

> 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.

Ecco, per me questa è la cosa più importante da dire perchè invece, ad esempio
in javascript, 'this' è più magico. 
Quindi che la cosa importante è che se scrivo pippo.miometodo(3) in realtà 
invece di ricevere solo 1 parametro ne ricevo 2 perchè è un metodo di istanza
e quindi l'istanza stessa mi viene passata sempre e comunque,come primo 
parametro.

Invece in javascript il nome 'this' è magico perchè te lo trovi nelle variabili
locali in modo misterioso (come del resto 'arguments').

 Io preferisco python ;)

G
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importare moduli nell'interprete, da directories diverse.

2013-03-22 Per discussione Daniele Varrazzo

On 2013-03-22 12:54, Marco Giusti wrote:

On Fri, Mar 22, 2013 at 12:36:31PM +, Daniele Varrazzo wrote:
>Se non sbaglio, modificando il file __init__.py potresti usare 
anche:

>
>import gb.nomemodulo.py
>
>però sinceramente non l'ho mai fatto

Sì, dentro __init__.py devi importare tutto, ma non conviene farlo
se la directory è solo un contenitore di pezzi assortiti.


non necessariamente `import gb.nomemodulo` funziona a prescindere dal
contenuto di `__init__.py`


Giusto: "import gb.nomemodulo" funziona sempre. È solo se vuoi fare 
"import gb" e trovarci già nomemodulo dentro che devi importare 
manualmente in __init__.py.



--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Salve.

2013-03-22 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

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à.
> 

Benvenuto.

>
> [...]
> 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?
> ...
> 

Al posto di pensare in termini di classe, pensa con delle semplici
funzioni (che poi è quello che succede, a parte diversi dettagli):

def metodo(self):
self['a'] = 15

self = {}
metodo(self)

Ora dovrebbe apparire chiaro a cosa serve self.

Per farla breve, ed omettendo diversi dettagli, le classi sono solo
funzioni + stato, e lo stato è un dizionario.

> [...]


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlFMaGIACgkQscQJ24LbaURybwCfe/JE17SYHuz6h3vOz8y37CyH
3VwAn2L7WMgga+YICNdh8yT+ZRN+6DT9
=mfjP
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Salve.

2013-03-22 Per discussione Nicola Larosa
Manlio Perillo wrote:
> lo stato è un dizionario.

Uhm. Per qualche motivo, "attacco al cuore del dizionario" non suona
altrettanto bene.

-- 
Nicola Larosa - http://www.tekNico.net/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Salve.

2013-03-22 Per discussione Marco De Paoli
Il giorno 22 marzo 2013 15:25, Nicola Larosa  ha scritto:

> Manlio Perillo wrote:
> > lo stato è un dizionario.
>
> Uhm. Per qualche motivo, "attacco al cuore del dizionario" non suona
> altrettanto bene.
>

LOL :-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Salve.

2013-03-22 Per discussione Matteo Perini



Al posto di pensare in termini di classe, pensa con delle semplici
funzioni (che poi è quello che succede, a parte diversi dettagli):

def metodo(self):
 self['a'] = 15

self = {}
metodo(self)

Ora dovrebbe apparire chiaro a cosa serve self.


Grazie... non l'avevo mai considerato sotto questo aspetto.
Molto chiaro.
P.S: dopo il codice è meglio controllare cosa è diventato self per capire.

Ciao
Matteo Perini
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Salve.

2013-03-22 Per discussione Matteo Boscolo
quando programmo e penso alla struttura di qualche programma in python 
penso sempre a liste e dizionari .. il concetto di classe arriva sempre 
dopo :)..


w i dizionari :


Il 22/03/2013 15:28, Marco De Paoli ha scritto:



Il giorno 22 marzo 2013 15:25, Nicola Larosa > ha scritto:


Manlio Perillo wrote:
> lo stato è un dizionario.

Uhm. Per qualche motivo, "attacco al cuore del dizionario" non suona
altrettanto bene.

LOL :-)


___
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] DataFrame multidimensionale in pandas

2013-03-22 Per discussione Enrico Franchi

On Mar 22, 2013, at 10:45 AM, Margherita Di Leo  wrote:

> 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?

Non direttamente su quello che vuoi fare. Uso Pandas spesso per fare analisi di 
dati.

Ti invito a riflettere su alcuni fattori: 
1. di base le matrici di numpy (e quindi pandas) sono *dense*. Se sali con il 
numero di dimensioni, o il problema e' molto piccolo, oppure scoppia tutto.
2. il supporto di Pandas per  strutture con dimensione >3 e' sperimentale. Non 
lo ho mai usato (anzi, a dire il vero, non ho mai usato manco il Panel, se non 
di rado).

Dopo di che, la mia impressione e' che *forse* non ti serve tutto questo. In 
primo luogo, gli indici di Pandas possono essere relativamente complessi. Puoi 
avere n colonne che fanno da indice, non necessariamente vuoi usare righe e 
colonne per indicare latitudine e longitudine. Puoi benissimo avere una cosa 
come:

lat long d1 d2 d3 … dn
010   ….
020  ….
10 10 ….

Che e' decisamente piu' saggio. Oltretutto Pandas ha funzioni builtin per 
gestire timeseries, quindi *forse* vuoi avere anche un po' di quella roba come 
indice. Di piu' non so dirti, se non di guardare bene la documentazione. Non 
sono familiare con il tuo caso d'uso e probabilmente non posso diventarlo 
"mailing-list time". 


-enrico

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Annidamento di funzioni

2013-03-22 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 21/03/2013 22:31, Daniele Varrazzo ha scritto:
> [...]
>> * c'è un modo alternativo di implementare sta roba ottenendo il
>> comportamento dello scope di python.
> 
> Usare classi e oggetti, facendoti le chiusure da te.
> 
> La programmazione a oggetti è un modo inferiore di fare la stessa cosa:
> associare uno stato a del codice.
> [...]
> Chi pensa che il lisp sia
> inferiore perché non ha le classi non c'ha capito niente, e come al
> solito chi non conosce il lisp è destinato a reinventarlo (vedi Java 7).
> 

http://c2.com/cgi/wiki?ClosuresAndObjectsAreEquivalent

(anche se è alquanto disordinato).


Ciao  Manlio


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlFMmA0ACgkQscQJ24LbaURaygCghnFjEx+x72o64EsE85UggP7S
0xAAn0LZXbvjojaBuH2+vm7xboksP3ee
=J7AL
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python