Input e output in Python: funzioni I/O

In questo articolo tratteremo le funzioni di input e output in Python, dando uno sguardo poi al loro utilizzo nei file e, in linea generale, ai toolkit grafici.
 
Sostanzialmente, tutti i programmi che abbiamo realizzato e che realizzeremo hanno una caratteristica in comune.

Ovvero accettano valori in input, svolgono delle operazioni su tali valori e producono qualcos’altro in output.
 
 

La funzione print

 
In quasi tutti gli esempi che abbiamo visto negli articoli precedenti abbiamo utilizzato la funzione print.
 

E’ una funzione davvero semplice da usare e dunque, non ci soffermeremo molto su di essa.

La funzione print  mostra sullo standard output  le espressioni che le sono state passate come parametri.
 
 
Vediamo cosa ci dice di interessante l’help:
 
Help funzione print - Python
 
 
Oltre ai valori da stampare, print  accetta tre parametri:

  • file,  che indica dove andare a scrivere i dati da visualizzare (se non specificato, viene usato lo standard output )
  • sep che ci permette di definire quale stringa usare come separatore dei diversi valori
  • end,  che invece specifica cosa usare come separatore finale dell’output.

 
 
Vediamo come funzionano sep ed end:
 
Esempio utilizzo parametri sep e end - Python
 
 
Tipicamente utilizzeremo la funzione print  in situazioni particolari di scrittura su log o su console.

Nelle applicazioni dotate di un’interfaccia avanzata non ricorreremo mai alla visualizzazione sullo standard output. 
 
 

Il metodo format

 
Altro metodo utile per input e output in Python è format.

Per chi conosce il linguaggio C, il metodo format è l’equivalente, molto più versatile, della funzione sprintf.
 
Per gli altri, invece, possiamo dire che è un metodo che permette la formattazione avanzata delle stringhe.
 
Vediamo un semplice esempio:
 
Metodo format - input e output in Python
 

  • format  cerca nella stringa la presenza dei segnaposto racchiusi tra parentesi graffe { }.

Nell’esempio precedente i segnaposto 0 e 1 indicano il primo e il secondo parametro passati a format.

 
 
Proviamo ad invertirli:
 
Metodo format inversione segnaposto - Python
 


I segnaposto possono anche essere nominali invece che posizionali e in questo caso vengono associati per nome invece che per posizione.


 
Eccone un esempio:
 
Metodo format con segnaposto nominali - Python
 
 

  • E’ anche possibile visualizzare gli attributi del parametro:
  •  

Metodo format con visualizzazione attributi parametro - Python

     
     

  • Oppure, nel caso di una lista  passata come parametro, usare un’indice:
  •  

Metodo format con lista - Python

     
     

  • Possiamo forzare l’uso di str  sul parametro:
  •  

Forzare l'uso della funzione str - Metodo format Python

     
     

  • Nel segnaposto possiamo anche definire una serie di regole di trasformazione sulla stringa da visualizzare, specificandone dopo il carattere “:” (i due punti).

 
 


E’ possibile usare un carattere di riempimento; l’allineamento a sinistra (<), a destra (>) o al centro (^); il segno e la precisione nel caso di parametri numerici; la larghezza del valore visualizzato; infine il tipo di parametro.


 

Nel prossimo esempio definiremo “=” come carattere di riempimento, l’allineamento a destra con “>”, una larghezza totale di 10 caratteri, una precisione del valore di 3 decimali e un tipo di dato float con “f”:

 
Esempio metodo format con regole di trasformazione della stringa - Python
 
 

  • In caso di parametri numerici interi, il carattere che definisce il tipo del parametro può essere:
     

    • b = binario
    • c = carattere
    • d = intero decimale
    • o = ottale
    • x = esadecimale
    • X = esadecimale maiuscolo
    • n = numero visualizzato nel formato locale
  •  
     

Se non specificato, assume il valore n. Vediamo un esempio:

 
Parametri numerici interi come segnaposto - metodo format in Python
 
 

  • In caso di parametri numerici float il tipo può essere:
     

    • e = notazione esponente
    • E = notazione esponente maiuscola
    • f o F = float
    • g o G = formato generico che a seconda della dimensione ricade in uno degli altri
    • n = come g, ma nel formato locale
    • % = percentuale
  •  
     

Se non specificato, assume il valore g. Vediamo un esempio anche per questi casi:

 
Parametri numerici float come segnaposto - metodo format in Python
 
 

  • Se vogliamo passare come parametro unico un dizionario,  usando le sue chiavi nominalmente, possiamo approfittare della sintassi avanzata di passaggio dei parametri con **:
  •  

Parametro dizionario - metodo format in Python
 
 


Python

 

Input e output in Python: file e toolkit grafici

 
A seguire, ci occuperemo delle funzioni input e output in Python in relazione a file e toolkit grafici .

Non perdere i prossimi articoli sul nostro buon Python, iscriviti alla nostra newsletter!
 
Perso qualche ‘puntata’? Puoi trovare la guida completa alla programmazione con Python cliccando qui.
 
 
 
 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*

Per info e contatti