Python, partiamo da zero.

Conosco decine di linguaggi di programmazione, molti di essi li ho utilizzati negli ultimi quarant’anni e molti li ho scordati tipo il Clipper il Cobol forse anche il Basic. Il linguaggio che conosco meglio è il pascal, in versione Delphi, il compilatore della Borland.

Ma parliamo di Python, per utilizzarlo serve un interprete perché il linguaggio è interpretato, cioè serve una applicazione che legga le istruzioni da noi scritte, le interpreti e le esegua.

L’applicazione in questione la possiamo scaricare dal sito ufficiale. Una volta scaricato il file bisogna eseguirlo; ricordatevi di mettere un check a “add python 3.9 to path”, questa opzione è utile se vorrete successivamente lanciare Python da riga di comando.

Dopo l’installazione trovate su Start una nuova applicazione “Idle python”, si tratta della shell o se preferite della console che permette di scrivere comandi python, lanciatela e vedrete una finestra con il classico menù di windows in alto, un paio di righe di benvenuto e il cursore “>>>”.

Provate a scrivere dopo il cursore 7 *7 e date invio, vedrete immediatamente il risultato. L’applicazione interpreta ed esegue le istruzioni che abbiamo inserito dopo il cursore nel momento in cui diamo invio.

Primo passo: la finestra

Cominciamo con il creare una finestra, per farlo dobbiamo utilizzare le librerie tkinter, già presenti nella versione che avete appena scaricato. Per scrivere un programma le istruzioni non dobbiamo darle direttamente all’interprete come abbiamo appena fatto per la moltiplicazione, altrimenti dovremmo ogni volta riscrivere tutto, le istruzioni nella giusta sequenza le mettiamo in un file.

Selezionate il menù file e poi il sottomenù new (d’ora in poi scriverò file->new) e vi ritrovate con un file vuoto dove potete scrivere le varie istruzioni che verranno eseguite solo quando darete il comando RUN, lo vedremo a breve. Inserite il codice che segue:

from tkinter import *
finestra = Tk()
finestra.mainloop()

Con la prima istruzione informiamo l’interprete che vogliamo utilizzare le librerie tkinter (che sono quelle che contengono funzionalità per le finestre e per la grafica); con la seconda riga creiamo la nostra finestra assegnandole il nome “finestra” e con la terza ci restiamo dentro finchè non viene chiusa. A questo punto potete lanciare il programma con run->run module o premendo il tasto F5. Vedrete apparire una piccola finestra che potrete chiudere cliccando sulla sua x in alto a destra. Ora aggiungiamo un pizzico di grafica e di gestione eventi, più precisamente aggiungiamo il disegno di un cerchio nel punto in cui facciamo click con il mouse; questo il programma:

from tkinter import *
def callback(event):
    sfondo.create_oval(event.x - 3, event.y - 3, event.x + 3, event.y + 3,fill="#476042")
    sfondo.pack()
finestra = Tk()
finestra.bind("<Button-1>", callback)
sfondo = Canvas(finestra, width=500, height=500)
sfondo.pack()
finestra.mainloop()

La seconda riga ci permette di creare un evento legato al click del mouse, ogni volta che avviene (ogni volta che viene fatto un click sulla finestra) vengono eseguite le istruzioni che seguono.

Da notare che la terza e la quarta riga sono disallineate rispetto alle altre istruzioni, questo serve a far capire all’interprete che le righe sono condizionate dalla precedente, questo meccanismo si chiama indentazione ed è molto importante; quindi quando abbiamo una funzione, la gestione di un evento, una condizione ecc. le istruzioni ad essa collegate su una o più righe devo essere spostate per convenzione di 4 spazi. Questo migliora la lettura del codice sorgente (altro nome con cui è chiamata la sequenza di istruzioni);

Il canvas (area di disegno)

La definizione della finestra l’avevamo già vista, l’istruzione che segue(riga 6) ci permette di associare a questa finestra l’evento e le istruzioni che abbiamo definito prima; a questo punto creiamo un oggetto chiamato sfondo che sfrutta il CANVAS(l’area di disegno) della finestra e gli diamo una dimensione che sarà la dimensione della finestra.

Con il comando pack alla finestra attiviamo gli elementi che gli abbiamo aggiunto. Ogni volta che si preme click con il <Button-1> cioè il click sinistro, verra disegnato un cerchio tramite l’istruzione create_oval che abbiamo associato all’evento. Dall’evento ricaviamo anche la posizione del mouse, le due coordina x e y, che utilizziamo come punto centrale del cerchio.

Questa prima lezione e finita, se evete voglia provate a cambiare il colore del cerchio e la sua dimensione. Nella prossima lezione vedremo di realizzare un videogioco, sempre con un piccolissimo programma python (lo trovate qui).

Maurizio

Lascia un commento