[Python] Salve.
Marco Giusti
marco.giusti a gmail.com
Ven 22 Mar 2013 10:17:38 CET
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.
Maggiori informazioni sulla lista
Python