Python - Formattazione dell'Output

Benvenuti, aspiranti programmatori! Oggi ci immergeremo nel mondo avventuroso della formattazione dell'output in Python. Come vostra insegnante di computer amichevole, sono qui per guidarvi passo per passo in questa avventura. Non preoccupatevi se siete nuovi alla programmazione: inizieremo dai principi e lavoreremo fino a livelli più avanzati. Quindi, prenda il suo bevanda preferita, si rilassi e ci addentreremo in questa avventura Python insieme!

Python - Output Formatting

Formattazione dell'Output in Python

Prima di immergerci nei dettagli, parliamo di perché la formattazione dell'output è importante. Immagina di stare cucinando una torta: certamente, gli ingredienti contano, ma come la presenti fa tutta la differenza! Lo stesso vale per la programmazione. Il vostro codice potrebbe funzionare perfettamente, ma presentare l'output in un formato chiaro e leggibile può rendere il vostro programma molto più user-friendly e professionale.

Funzione di Stampa di Base

Iniziamo con il modo più semplice per fare output in Python: la funzione print().

print("Ciao, Mondo!")

Questo produrrà: Ciao, Mondo!

Semplice, giusto? Ma cosa fare se vogliamo essere più eleganti? Ecco dove entra in gioco la formattazione!

Utilizzo dell'Operatore Modulo Stringa (%)

L'operatore modulo stringa % è uno dei metodi di formattazione più antichi in Python. È come l'automobile vintage della formattazione: un po' vecchio stile, ma ancora efficace.

nome = "Alice"
età = 25
print("Il mio nome è %s e ho %d anni." % (nome, età))

Output: Il mio nome è Alice e ho 25 anni.

Ecco, %s è un segnaposto per le stringhe, e %d per gli interi. È come lasciare spazi vuoti in una frase e riempirli dopo!

Utilizzo del Metodo format()

Il metodo format() è come il fratello minore e più trendy dell'operatore modulo. È più flessibile e facile da leggere.

nome = "Bob"
età = 30
print("Il mio nome è {} e ho {} anni.".format(nome, età))

Output: Il mio nome è Bob e ho 30 anni.

Puoi anche usare segnaposto numerati:

print("Il {0} nel {1} pesa {2} chili.".format("gatto", "cappello", 5))

Output: Il gatto nel cappello pesa 5 chili.

Utilizzo delle Stringhe F

Le stringhe F, introdotte in Python 3.6, sono i nuovi arrivati nel quartiere. Sono rapide, leggibili e la mia preferita personalmente!

nome = "Charlie"
età = 35
print(f"Il mio nome è {nome} e ho {età} anni.")

Output: Il mio nome è Charlie e ho 35 anni.

Le stringhe F ti permettono di mettere espressioni direttamente all'interno delle parentesi graffe:

x = 10
y = 20
print(f"La somma di {x} e {y} è {x + y}")

Output: La somma di 10 e 20 è 30

Regola di Conversione del Formato in Python

A volte, devi convertire tipi di dati per la formattazione. Python ha te coperto!

pi = 3.14159
print(f"Pi a due decimali: {pi:.2f}")

Output: Pi a due decimali: 3.14

Ecco una tabella utile dei segnaposto di formato comuni:

Segnaposto Descrizione
d Intero
f Virgola mobile
s Stringa
x Esadecimale
o Ottale
e Scientifico

Stringhe Modello

Le stringhe modello sono come i mad libs per Python. Sono grandi quando lavori con l'input dell'utente o vuoi separare la formattazione dal codice.

from string import Template

t = Template("$nome è $età anni")
risultato = t.substitute(nome="David", età=40)
print(risultato)

Output: David è 40 anni

Il Modulo textwrap

Il modulo textwrap è il tuo migliore amico quando.devi gestire stringhe lunghe. Ti aiuta a wrap e formattare il testo per renderlo più leggibile.

import textwrap

stringa_lunga = "Questa è una stringa molto lunga che vogliamo wrappare per renderla più leggibile sullo schermo o in stampa."
wrappata = textwrap.wrap(stringa_lunga, width=30)

for linea in wrappata:
print(linea)

Output:

Questa è una stringa molto
lunga che vogliamo wrappare
per renderla più leggibile
sullo schermo o in stampa.

La Funzione shorten()

A volte, devi semplicemente troncare una stringa. La funzione shorten() è perfetta per questo:

import textwrap

stringa_lunga = "Questa è una stringa molto lunga che vogliamo accorciare."
accorciata = textwrap.shorten(stringa_lunga, width=25, placeholder="...")
print(accorciata)

Output: Questa è una stringa molto...

Il Modulo pprint

Ultimo ma non meno importante, parliamo del modulo pprint (pretty print). È grande per stampare strutture di dati complesse in un formato più leggibile.

from pprint import pprint

dati_complessi = {'nome': 'Eve', 'età': 45, 'hobby': ['lettura', 'gaming', 'escursioni'], 'famiglia': {'coniuge': 'Adam', 'figli': ['Cain', 'Abel']}}

print("Stampa regolare:")
print(dati_complessi)

print("\nStampa pretty:")
pprint(dati_complessi)

Output:

Stampa regolare:
{'nome': 'Eve', 'età': 45, 'hobby': ['lettura', 'gaming', 'escursioni'], 'famiglia': {'coniuge': 'Adam', 'figli': ['Cain', 'Abel']}}

Stampa pretty:
{'età': 45,
'famiglia': {'coniuge': 'Adam', 'figli': ['Cain', 'Abel']},
'hobby': ['lettura', 'gaming', 'escursioni'],
'nome': 'Eve'}

E eccoci qui, ragazzi! Abbiamo viaggiato attraverso la terra della formattazione dell'output in Python, dalla funzione di stampa di base fino al modulo fancy pprint. Ricorda, una buona formattazione è come buoni modi: rende tutto più piacevole e più facile da capire.

Man mano che continui la tua avventura Python, continua a sperimentare con queste tecniche di formattazione. Presto, creerai output che non sono solo funzionali, ma assolutamente belli. Buon coding, e possa i tuoi output essere sempre perfettamente formatati!

Credits: Image by storyset