Volevo parlare delle novità della nuova versione di Python, la 3.8
Assignment Expressions – (Walrus Operator)
Parliamo del Walrus Operator un nuovo operatore di assegnazione il cui nome è stato dato dalla community per via della sua sintassi, che ricorda gli occhi e le zanne di un tricheco infatti è scritto così con due punti e il simbolo dell’uguale in questo modo :=
L’operatore Walrus ci consente di assegnare dei valori alle nostre variabili come parte di espressioni più complesse, risparmiando qualche riga di codice.
Ecco un esempio tratto dalla documentazione ufficiale:
Supponiamo di avere una lista di numeri fib, e di voler verificare che nella lista siano presenti massimo 10 elementi, mandando in print un messaggio di errore qualora la condizione sia falsa.
Tradizionalmente, prima di Python 3.8, avevamo bisogno di definire una variabile assegnando a questa la lunghezza della nostra lista di numeri:
fib = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
n = len(fib)
if n > 10:
print(f”La lista contiene troppi elementi ({n} elementi. Aggiungere non più di 10!)”)
Ora utilizzando l’Operatore Walrus, possiamo definire e assegnare un valore ad una variabile come parte dell’espressione di controllo stessa, semplificando quindi il codice.
fib = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
if (n := len(fib)) > 10:
print(f”La lista contiene troppi elementi ({n} elementi. Aggiungine non più di 10!)”)
Come già accennato questa nuova caratteristica del linguaggio è una delle più discusse e criticate di sempre ma avvolte potrebbe essere molto utile.
In Python 3.8 abbiamo inoltre un potenziamento delle f-strings (Formatted String Literals)
Supponiamo di voler verificare il valore associato a delle variabili, mandandole in output con print:
username = “pymike00”
location = “Italia”
print(f”username: { username }, location: { location }”)
Ora possiamo risparmiare qualche carattere, in questo modo:
username = “pymike00”
location = “Italia”
print(f”{ username= }, { location= }”)
Non essendo una sezione dedicata prettamente a programmatori concludo qui l’articolo, ciao a presto!