Python 3 – format

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 :-D

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-8Unicode– 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 ;-)

About these ads
Posta un commento o usa questo indirizzo per il trackback.

Commenti

  • evilripper  Il 09/20/2011 alle 19:50

    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! :-D
    ps
    ma anche prima supportava utf8 vero?

    • juhan  Il 09/21/2011 alle 07:44

      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 % :P
      Aggiornamento: sono rimasto un po’ indietro sull’unicode; adesso ci faccio un minipost 8)

Trackback

  • Python e l’Unicode « Ok, panico su 09/21/2011 alle 13:44

    [...] commento di Evilripper al post precedente mi ha fatto scoprire che sono rimasto indietro. Python è vivo e evolve. E l’Unicode è [...]

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 37 follower

%d bloggers like this: