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