Lordgiotto's

Imparare Python: Da Dove Iniziare

Python è un linguaggio di programmazione dalla curva di apprendimento molto rapida, grazie alla sua sintassi semplice, alla vastissima libreria integrata ed al fatto che ti costringe, sin dalle prime linee di codice, ad adottare una forma pulita e lineare.
Python è un linguaggio Object Oriented, ma permette anche un iniziale approccio funzionale, in modo da elaborare con calma il più complesso approccio ad Oggetti.

Se vi affacciate per la prima volta al mondo della programmazione, Python è il linguaggio che fa per voi! Ed i motivi sono diversi:

  • Come ho già detto ha una rapida curva di apprendimento iniziale
  • Permette di metter in pratica rapidamente quello che imparate (insomma, non passerà molto tempo prima di creare la vostra primissima applicazione)
  • E’ interpretato: non serve compilare il codice per eseguirlo (trasformarlo in una serie di 0 e 1 per intenderci), ma il vostro codice viene letto da un interprete che esegue all’istante quello che gli date. Questo vi farà risparmiare comunque tempo e noie, soprattutto all’inizio.
  • E’ multipiattaforma, quindi non importa se state utilizzando Linux, Windows o OSX… C’è un pitone per tutti!
  • E’ parecchio diffuso e sembra diventarlo sempre di più, quindi in rete troverete non solo molta documentazione in merito, ma anche parecchi esempi, snippet, mini-guide, ecc
  • La libreria integrata e vastissima e vi mette a disposizione moduli per quasi qualsiasi cosa vogliate fare, senza la necessità di usare librerie esterne.
  • E’ Potente e Versatile (ad esempio potete utilizzarlo anche per creare Applicazioni Web con Django)
  • Sicuramente ci sono altri motivi, ma sono le 3 di notte e io sono stanco :P

Ora siete convinti che Python è il linguaggio di programmazione che volete imparare? Benissimo, allora vediamo da dove iniziare.

Per prima cosa procuratevi tutto il necessario: se state utilizzando una qualsiasi distribuzione Gnu/Linux probabilmente avrete già Python installato (altrimenti basterà installarlo dal vostro gestore pacchetti); se invece state utilizzando Windows o OSX semplicemente scaricate la versione 2.6 dal sito ufficiale.

Ora dovete studiare (si, vi capisco, sarebbe più bello fare che studiare, ma innanzitutto vi servono le basi teoriche, non solo dello specifico linguaggio, ma soprattutto per quanto riguarda la programmazione in generale).
I testi più utili potete trovarli proprio tra la documentazione proposta sul sito ufficiale, ma, se volete accettare un consiglio, leggetevi soprattutto ‘Pensare da informatico: Imparare con Python’: il testo è un po’ vecchiotto (2002-2003), ma ha il pregio di condurvi per mano, un passo dopo l’altro, verso una maggior comprensione non solo della sintassi di Python, ma anche di quale sia il modo migliore di ragionare.

Bene, ora che avete letto il libro non sapete quasi niente e, soprattutto, non sapete fare quasi niente: non preoccupatevi, è normale, come quando avete preso la patente e siete usciti dalla motorizzazione incapaci come lo eravate prima di aver in tasca quel fogliettino rosa.

E’ il momento di imparare facendo!

Probabilmente avrete già scritto qualche riga di codice durante la lettura del libro, ma quello che dovete fare ora è pensare ad un programma che vi piacerebbe creare (mi raccomando, puntate bassi: niente interfacce grafiche o cose troppo complicate) e cominciare a scriverlo…
Ogni problema che incontrerete, ogni dubbio che avrete sarà il capito successivo del vostro personalissimo manuale di Python!
Le risposte potrete chiederle a Google, che sarà ben lieto di accontantarvi, oppure, nel caso neppure lui sia in grado di illuminarvi, potrete provare a chiedere sul canale IRC #python.it di irc.freenode.com, dove persone gentilissime e simpaticissime saranno ben felici di dedicarvi qualche minuto (magari io stesso).

Per farvi un esempio, dopo aver letto il libro che vi ho consigliato, ho deciso di creare un programmino che mi permettesse di verificare ‘empiricamente’ il Paradosso di Hall. Se non sapete di cosa sto parlando, vi spiego rapidamente: supponete che, durante uno spettacolo di magia, il prestigiatore vi metta davanti a 3 scatole, sotto una delle quali si nasconde una banconota da 10€; se indovinate la scatola allora vincente ed il premio è vostro. Una volta scelta la scatola il mago apre una delle due rimanenti, mostrandovi che è vuota e chiedendovi se volete cambiare la vostra scelta. Per quanto possa sembrare strano (infondo ogni scatola aveva il 33,(3)% di probabilità di esser quella corretta e, se poi vi trovate a scegliere tra due, dovreste aver il 50% di probabilità di azzeccare), nel caso voi decidiate di cambiarla avrete il 66,(6)% di probabilità di vincere. Non vi spiegherò perché, anche se vi accorgerete che è ovvio ragionandoci un attimo.

Per verificare empiricamente questo paradosso ho creato un semplice script in Python, non usando il paradigma ad Oggetti ma quello Funzionale (oltretutto facendolo anche male), ma quello che conta è che mi sono trovato costretto a cercare in internet come funziona il modulo random per creare numeri semi-casuali, il modulo optparse per far si che si potesse specificare come parametro del programma il numero delle ripetizioni, ecc ecc
Inoltre ho avuto occasione di leggere codice scritto da altri, imparando come utilizzare determinati comandi, come risolvere determinati problemi, come meglio organizzare il mio codice, e via dicendo…

Successivamente basterà alzare il tiro, cercando di creare applicazioni sempre più complesse (o migliorando quella su cui avete cominciato).

Il vero apprendimento, quindi, si fa sul campo, come in ogni cosa. Questo è l’unico modo di imparare davvero: provando!

Buona programmazione a tutti :D

Questa voce è stata pubblicata il ottobre 25, 2009 alle 3:22 am. È archiviata in Programmazione, Python con tag , . Aggiungi il permalink ai segnalibri. Segui tutti i commenti qui con il feed RSS di questo articolo.

6 pensieri su “Imparare Python: Da Dove Iniziare

  1. scimmia in ha detto:

    tu l’hai letto tutto il libro?
    io cercavo un centro stampa che me lo stampi a non troppi euro.
    leggerlo dal monitor mi fa passare la voglia.

    mi pare comq che l’edizione inglese sia piu recente della italiana.
    magari leggiti il diff :-)

  2. lordgiotto in ha detto:

    Io me lo sono stampato con la laser B/N che ho a casa: dall’indice (quindi esclusa introduzione) alle appendici escluse sono 200 pagine, ma se metti 2 pagine per foglio si riducono a 100 e diventa una spesa affrontabilissima :)

    Comunque probabile che la versione Inglese sia più aggiornata, ma la tranquillità di leggere in italiano non ha prezzo (non che non sia in grado di legger un libro in inglese, anzi, ma è comunque più pesante :P)

  3. scimmia in ha detto:

    hai ragione sulla lingua, ma forse, ormai, son abituato per lavoro a leggere e scrivere in lingue che non son le mie ;-)
    e nella vita di ogni giorno ne parlo una diversa dalla mia.

    cmq a casa lo metto due pagine per foglio stampo un paio di prova e poi al limite lo porto in copisteria.

  4. lordgiotto in ha detto:

    Se vuoi ti mando per mail il pdf [indice:appendici[ (leggasi da indice compreso ad appendici escluse :P) con 2 pagine per foglio

  5. scimmia in ha detto:

    mandamelo pure va.
    hai visto che cmq c’è una seconda edizione? ma al momento è in lavorazione la parte finale. e quindi non esiste il pdf.

  6. scimmia in ha detto:

    e grazie in anticipo.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: