PAGINE

Bacheca calendario appuntamenti

MI DISPIACE DOVERLO FARE MA, VISTA LA SITUAZIONE, RELATIVA ALL'EPIDEMIA DI CORONA VIRUS, DOBBIAMO SOSPENDERE IL LABORATORIO FINO A DATA DA DEFINIRE.
VI TERO' INFORMATI.

PROSSIMO APPUNTAMENTO
I prossimi appuntamenti per il gruppo Computer, fino a fine anno sono:
L'orario è sempre lo stesso: 15-17 (Catacombe).
Gli appuntamenti successivi saranno:
Da stabilire più in la.

Salute a tutti
M.

mercoledì 22 maggio 2019

IMPARIAMO A PROGRAMMARE IN PYTHON



...
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.

PRONTI, PARTIAMO
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:
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:

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