[Python] [NIUBBO] Python razzista? ;-)

Francesco Maida soffitta a cesco.it
Ven 4 Mar 2011 08:32:03 CET


Scusatemi una domanda veloce veloce... perchè quando ho bisogno di allineare a destra un numero posso scrivere:

print "{0:-5}".format(123) 

Mi restituisce "<spazio><spazio>123"


Ma se ho bisogno di fare la stessa cosa con una stringa:

print "{0:-5}".format("Joe")

Mi solleva un eccezione? ("Sign not allowed in string format specifier")


Eppure se tento di allineare a sinistra quello stesso testo funziona perfettamente:

print "{0:5}".format("Joe")

infatti restituisce correttamente:

"Joe<spazio><spazio>"


Quindi questo mi sembra un chiaro episodio di discriminazione verso le povere stringhe! :-D
A parte gli scherzi, posso chiedervi come si fa a fare il padding verso destra di una stringa senza scrivere una funzione?


Maggiori informazioni sulla lista Python