Il 14 novembre 2011 16:00, Francesco Maida <d...@cesco.it> ha scritto: > Però mi sembra di aver solo scalfito la superficie. > Vorrei sapere come si fanno le cose più avanzate. Sapere se Python > permette di creare interfaccie e classi astratte, conoscere e saper > utilizzare lo unit-testing, tirare fuori il meglio dagli strumenti per > il debugging, capire finalmente cosa sono questi benedetti > decoratori... insomma, imparare ad essere un programmatore migliore.
Premetto che non sono un programmatore professionista, ma solo per diletto, per cui prendi quello che ti dico con le pinze... :) Cito in particolare questa classe, perché credo che sia la più rappresentativa. Per quella che è stata la mia esperienza (da dilettante, ripeto), prenditi un buon libro. Non perché i corsi siano fatti male o che non servano, per carità, ma perché non vale la pena ad avere come vincolo un corso per imparare Python. La mia scelta su Python, ad esempio, è caduta perché semplicemente pensando come risolvere un problema, mi veniva fuori codice Python. Insomma, per la mia classe di problemi (scarsa). Tutto quello che hai citato in quella frase, di fatto poco centrano con Python, o meglio Python è solo un modo per esprimerle. Per cui, alla domanda: "Mi serve un corso Python", la mia risposta sarà no: il concetto di classe è un concetto dell'OOP, non di Python. Lo unit testing è un concetto che trovi su contesti di Agile development, non su Python. I decoratori rientrano in un concetto di programmazione funzionale, non in Python (correggetemi se sbaglio). Lo strumento di debug... beh, per la mia classe di problemi non ne ho mai sentito il bisogno. Di unit-test sì, ma di debugging no. C'è da qualche parte su internet un libro (gratuito e ben fatto, di cui non ho il link sotto mano) che spiegava l'OOP in Python, ma dopo averlo seguito per un po' mi sono reso conto che di fatto poco aveva a che vedere con Python, o meglio, Python era solo un "dettaglio implementativo" della teoria sottostante. Per cui +1000 a quello che ha detto Enrico. Poi ho dato un'occhiata al tuo programmino sull'acqua alta. Un paio di consigli: 1) se vuoi imparare Python, allora comincia dalla PEP8, con le linee guida "stilistiche" (metto tra virgolette, perché Python è innanzi tutto un modo di pensare diverso dal solito; ad esempio è l'unico che conosco che ha nei principi fondanti "readability counts" - "import this" da terminale per altri principi filosofici); 2) Evita il nome delle variabili col tipo davanti, tipica del Visual Basic (sbaglio o si chiama notazione ungara?): in Python le variabili sono oggetti e il loro valore non è per forza legato ad un tipo (ad esempio, se metti iPippo, uno si aspetta che Pippo sia Integer, ma se fai alcune prove, l'intero Python può essere anche un long). Ok, intanto basta e scusate se ne ho dette troppe... :) Ciao, Simone _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python