
Nella versione 3 di Python print è una funzione. Precedentemente era un’istruzione. Ecco cosa cambia

Un’altra cosa ancora: è perfettamente legale scrivere

ma non è elegante e meno performante di

OK, siamo pronti per l’argomento di oggi
In Python esiste l’operatore string formatting o interpolatore. È indicato con % e funziona come sprintf del C.
Ecco un esempio:

Le specifiche si trovano, per esempio, qui. Funziona perfettamente ma il suo uso sarà prima o poi deprecato, si raccomanda di passare alla nuova versione: format.
Prima che me ne dimentico: visto che funziona con le lettere accentate? Dai con UTF-8 –Unicode– ormai possiamo fare cose come questa

Naturalmente non so cosa ho scritto. Io mi trovo in difficoltà con tutte le lingue, anche con il piemontese: ‘signore‘ si dice ‘munsü‘ con l’accento sulla ü, cosa che non so come fare
Tornando a Python ecco format.
Questa è la nuova versione dell’esempio precedente

Le specifiche di format sono, ovviamente, più ampie, descritte in PEP 3101 – Advanced String Formatting. È un documento lungo, quasi da TL;DR (too long; don’t read). Molto meglio Format Specification Mini-Language.
Resterebbe ancora da illustrare pickle. È una brutta bestia, io non lo uso mai, ma a volte salta fuori quando meno te lo aspetti. Un po’ come lambda, tanto per capirci (notare che lambda di Python non è un lambda serio, in Lisp…). Magari una prossima volta, forse, se interessa qualcuno

Commenti
hihi sarà meno elegante ma è più comodo… senza contare che ha me l’operatore string formatting con il % mi ricorda delphi che è uguale! se mai userò pyton cmq sia userò il metodo più performante ed elegante ci mancherebbe altro!
ps
ma anche prima supportava utf8 vero?
Sì, l’UTF-8 è supportato da parecchio tempo, mediante un metacommento. Ma con la versione 3 tutte le stringhe sono unicode (dovrei verificare ma se ricordo bene…).
Anch’io ero abituato a %
Aggiornamento: sono rimasto un po’ indietro sull’unicode; adesso ci faccio un minipost 8)
Trackback
[...] commento di Evilripper al post precedente mi ha fatto scoprire che sono rimasto indietro. Python è vivo e evolve. E l’Unicode è [...]