Nella seconda lezione del nostro corso di programmazione Python ci occupiamo ancora del comando print.
Una cosa particolare del comando è che permette di definire parti della stringa stampata come sottostringhe variabili, così da avere un dinamismo nell’uso.
Un esempio banale:
>>> print “Ciao %s!” % “Mario”
Ciao Mario!
Come vedete abbiamo definito un placeholder %s (che significa che si attende una stringa) all’interno della stringa da stampare e dopo il comando %, posto dopo la chiusura della stringa, abbiamo passato una stringa da stampare.
Certo che così risulta essere abbastanza inutile, tanto vale scrivere Mario al posto di %s e evitare tutto il resto.
Ma se al posto della stringa “Mario” poniamo una variabile, ovvero un contenitore di valori che possono mutare nel tempo[1], potremo far stampare quello che ci pare.
Ecco un esempio di applicazione complessa.
Andremo per gradi, nella prima versione definiremo una variabile poi la passeremo come argomento a print.
>>> nome = “Giovanni”
>>> print “Ciao %s!” % nome
Ciao Giovanni!
Adesso proviamo a farci dire dall’utente cosa stampare. Per farlo dovremo introdurre un nuovo comando, raw_input.
>>> nome = raw_input(“Inserisci il nome: “)
Inserisci il tuo nome e premi il tasto ENTER:
Poniamo di inserire Luigi, a seguire scriveremo
>>> print “Ciao %s!” % nome
Ciao Luigi!
Complichiamo le cose. Facciamo sì che si scriva una volta sola il codice e si possa usare molte volte. Per farlo creeremo una funzione che verrà poi richiamata.
>>> def stampa_nome():
>>>
>>> print “Ciao %s” % nome
Il codice inizia con l’assegnazione di un nome alla funzione, per mezzo dell’istruzione def seguita dal nome della funzione[2] con due parentesi tonde, dentro cui possiamo, volendo passare dei parametri[3] e per finire il segno dei : (due punti) che implica la fine della riga.
>>> def stampa_nome():
Le righe seguenti, fino al termine della definizione della funzione stessa, saranno indentate di alcuni caratteri, sempre lo stesso numero, mi raccomando, per definire il blocco.
In altri linguaggi (derivati come sintassi dal C, come Java C++, C# e PHP) si utilizzano le parentesi graffe aperte e chiuse per definire un blocco { }, altri (pascal) usano due statement begin e end.
Python ha scelto la via più semplice, che richiede meno sforzo, e rende più leggibile il codice prodotto.
L’indentazione di solito e’ di 4 spazi (preferibile usare spazi anziché tabulazioni[4]) ma c’è chi ne usa 2 o 3 o persino 8.
Le due righe successive nell’esempio sono rientrare di 4 spazi (oltre a quello che subito dopo il prompt >>> che mettiamo solo per aumentare la leggibilità ma va ignorato da voi quando trascrivete gli esempi).
A questo punto se scriveremo
>>> stampa_nome()
otterremo
Inserisci il tuo nome e premi il tasto ENTER:
Ciao Luigi!
Sempre che si sia scritto Luigi prima di premere Enter.
Ultima versione e con questa terminiamo questo secondo incontro, qui useremo due funzioni, cosi da vedere come si passino dei parametri.
>>> def inserisci_nome():
>>> nome = raw_input(‘Inserisci il tuo nome: ‘)
>>> stampa_nome( nome )
>>>
>>> def stampa_nome( nome ):
>>> print “Ciao %s” % nome
Qui abbiamo due funzioni, la prima, inserisci_nome, chiede il nome e poi chiama la seconda, stampa_nome, passandogli la variabile nome come parametro.
Per lanciare il tutto possiamo scrivere
>>> inserisci_nome()
ma volendo possiamo anche scrivere
>>> stampa_nome( ‘Guido’ )
che stamperà
Ciao Guido!
Alla prossima lezione ragazzi.
E … scrivete chiedendo tutto quello che vi salta in mente.
[1]. Si chiamano variabili perché possono variare, in informatica delle variabili immutabili sono definite costanti, perché una volta definite non cambiano mai. Per convenzione in quasi tutti i linguaggi si definiscono con tutte lettere maiuscole.
Si tratta di convenzioni, siete liberi di violarle, ma a parte la maledizione del faraone VanRossumkhamen che si abbatterà su di voi, scriverete del codice fuori standard e sarete deprecati sulla pubblica piazza dall’intera comunità dei puristi del linguaggio. Quindi se lo fate lo farete a vostro rischio e pericolo. [3]. I parametri di una funzione sono delle variabili che si passano alla funzione stessa. C’è un altro modo di usare variabili che siano utilizzabili dalla funzione, ed è quello di usare variabili cosiddette “globali”. Per motivi che capirete più avanti questa pratica e’ sconsigliata. [4]. Usando spazi si è certi che le spaziature rimangano sempre tali anche quando il testo viene convertito ad esempio in HTML, PDF, Epub etc.
Altre letture utili:
Lascia un commento