...
Breve "Incursione" nel mondo della programmazione Python.In modo del tutto improvvisato e fuori dagli argomenti consueti di questi appunti ecco qualche cenno basilare sulla programmazione in Python.
...
Python è un linguaggio di programmazione semplice, ma potente.
Prima di tutto è un linguaggio interpretato e non
compilato. Questo permette una maggiore immediatezza, infatti un programma
scritto in un linguaggio interpretato viene eseguito senza la fase della
compilazione. Quindi si ha un immediato riscontro del codice e delle modifiche
eseguite.
Inoltre è un linguaggio che esiste per tutte le
piattaforme hardware e software. Questo consente di scrivere programmi che
potranno essere eseguiti senza modifiche su qualsiasi computer (anche su uno
smartphone).
In fine dispone di moduli aggiuntivi per eseguire
funzioni specifiche di ogni genere e, quindi, permette ad esempio di pilotare
le GPIO di RaspberryPI (con cui interfacciarsi con il mondo e le sue le
grandezze naturali, luce, suoni, gravità, etc.), oppure di interagire con le
API di Google Maps per darvi le coordinate geografiche di un indirizzo,
interrogare pagine internet per estrarre dati e così via. In sostanza è
utilizzabile immediatamente per applicazioni di IoT, di domotica, automotica,
per applicazioni WEB ed altro.
Detto questo, e dato per scontato che si sia già
scaricato ed installato il pacchetto software di Python, iniziamo con qualche cosa di
elementare per prenderci la mano: Input e print, stringhe e variabili.
Se non abbiamo
ancora installato Python e comunque anche per altre notizie possiamo usare questo
sito internet https://www.wikihow.it/Iniziare-a-Programmare-in-Python,
ma ne trovate anche molti altri come https://www.html.it/guide/guida-python/
e tra questi il sito ufficiale https://www.python.org/ in lingua inglese, oppure http://www.python.it in italiano..
Fig.1
Iniziamo con “print”. Print è una “parola riservata”
del linguaggio, ovvero può essere usata solo per eseguire un comando specifico
e per nessun altro scopo (lo stesso vale per tutti i comandi del linguaggio ed
anche per la parola input).
Print è quindi un comando che svolge un compito
semplice ma essenziale: stampa (print significa
appunto stampa) sullo schermo ciò
che viene scritto subito dopo la parola print sulla riga del comando.
Per esempio, vogliamo scrivere sullo schermo del computer una riga di testo con un saluto, ecco che in Python scriveremo:
Per esempio, vogliamo scrivere sullo schermo del computer una riga di testo con un saluto, ecco che in Python scriveremo:
print(“Ciao a tutti”)
Figura 2: un brevissimo programma Python per salutare dallo schermo del PC.
In questa immagine si vede in rosso un commento, la
riga inizia con #; poi sulla riga successiva il comando print, colorato di
fucsia e, tra parentesi tonde, in colore verde, il testo che vogliamo stampare :
un testo inizia e finisce con il simbolo “ (virgolette). Quindi “Ciao a tutti”
è un testo mentre Ciao a tutti no e se ci proviamo otteniamo un errore come
nella figura che segue:
Figura 3:
Figura 3:
Se volessimo stampare un numero potremmo scrivere:
print(10)
Per ottenere una riga stampata con il numero 10...
Figura 4:
Il numero 10 non ha bisogno delle virgolette, basta
metterlo tra parentesi tonde. Print(10) stampa il numero 10, ma se scriviamo il
comando print(“10”), cosa stampiamo?
Ecco nell'immagine che segue (Figura
5)
cosa succede:
Figura 5:
Quindi print(10)
e print(“10”) sono uguali? La
risposta possiamo averla con un esempio ulteriore. Cosa stampiamo se scriviamo print(10+2) e che cosa se scriviamo il
comando print(“10+2”)? Ecco
nell’immagine seguente (Figura 6) la
risposta:
Figura 6:
Con print(10+2)
otteniamo una riga stampata con il numero 12, infatti 10 sommato a 2 fa 12 (tra
10 e 2 c’è il segno + che rappresenta la somma di due valori numerici). Con print(“10+2”) invece no, attenzione,
perché “10+2” non è la somma di due numeri, ma è invece una sequenza di
caratteri alfanumerici che viene stampata esattamente come è scritta
all’interno delle virgolette.
Una sequenza di caratteri alfanumerici come “10” il simbolo
“+” e “2”, oppure come “Ciao a tutti”, viene detta Stringa di testo. Con una stringa di testo il computer rappresenta
appunto una sequenza di caratteri alfanumerici e non dei valori su cui fare
operazioni matematiche.
Allo stesso modo se scriviamo print(“dieci” + “due”) possiamo pensare di ottenere una riga
stampata con il numero 12?
No!!!, infatti, avete indovinato!
Figura 7:
Otterremo una riga stampata con scritto diecidue che è il modo in cui Python ci
comunica che due stringhe di testo non si possono sommare ma si possono
“concatenare” ovvero le parole dieci e due vengono unite dal segno + e
diventano una sola stringa concatenata composta dalle due stringhe iniziali.
Qualcuno potrebbe chiedersi: “se scrivessi la riga
print(dieci) cosa verrebbe stampato?”. Detto e fatto, il bello è che possiamo
provare subito senza attendere.
Figura 8:
Il comando print(dieci)
restituisce un messaggio di errore in cui l’unica cosa comprensibile è “NameError: name ‘dieci’ is not defined”.
Se leggete con un po’ di attenzione capite che: si tratta di un errore di nome
“NameError” causato dal fatto che il
nome ‘dieci’ non è stato definito e, perciò, non viene riconosciuto...
Proviamo a scrivere questo comando: dieci=10, e poi
scriviamo nuovamente print(dieci).
Figua 9:
Con il primo comando sembra che non succeda nulla, mentre il secondo comando Python non da più errore ma stampa una riga con il numero 10. Cosa è successo? Il primo comando dieci=10 ha creato una ‘variabile’ chiamata ‘dieci’, operazione che definisce il nome, e gli ha assegnato un valore numerico, il numero 10 appunto. In questo modo con il secondo comando Python trova che esiste il nome dieci, che è associato con il numero 10 e di conseguenza stampa la riga con il valore.
Possiamo pensare a dieci come ad un contenitore in cui abbiamo inserito un valore numerico. La caratteristica è che durante lo svolgimento di un programma il valore associato al nome viene mantenuto, può essere richiamato ogni volta che serve, e può essere modificato. Da quest’ultima caratteristica deriva il termine ‘variabile’ usato in precedenza.
Fate attenzione perché le variabili sono molto importanti e meritano un piccolo approfondimento già adesso. Ecco alcuni esempi, proviamo a scrivere questi comandi: print(dieci+dieci); print(dieci+2); print(dieci+”due”); print(dieci+due).
Figura 10
È chiaro come il nome dieci venga sempre usato per rappresentare il valore numerico 10: in un caso dieci+dieci fa 20, nell’altro dieci+2 fa 12. Esattamente come se al posto del nome dieci ci fosse il numero 10. Questo è proprio lo scopo delle variabili, essere dei nomi che contengono valori da utilizzare per svolgere un programma.
Figura 11
Anche in questi due esempi il nome ‘dieci’ è usato per rappresentare il valore numerico 10. Infatti un numero non si può sommare aritmeticamente con un testo, la stringa “due” non è un valore numerico ma una sequenza di simboli alfanumerici. Diverso è l’esempio finale: ‘dieci’ non si può sommare a ‘due’ dato che il nome due non è definito: cioè ‘due’ non è definito come variabile il cui contenuto è il numero 2. Esattamente come nel caso dell’immagine in Figura 8.
Bene per ora ci fermiamo.
Tornerò sulla programmazione in Python nel prossimo post.
Ciao
M.
...
...
...
Nessun commento:
Posta un commento