Expressões e strings 5
Formatação de strings
O operador de modulo % tem um especial comportamento quando usado com strings . Vocẽ pode usar isto para formatar dado dentro de strings . Abaixo segue exemplos.
>>> mystr = 'Ola, o valor é %s' % 2 ** 10
>>> print mystr
Ola, o valor é 1024
>>> alpha = 'Resultado %s de %s em %s' % (1, 100, 300)
>>> print alpha
Resultado 1 de 100 em 300
>>> beta = 'Valor %s apartir de %s com %s' % (2.2, 4, 'taxa')
>>> beta
'Valor 2.2 apartir de 4 com taxa'
>>> complex = 'Numero complexo %s é igual a %s' % (1 + 0j, 1)
>>> complex
'Numero complexo (1+0j) \xc3\xa9 igual a 1'
>>> complex = 'Numero complexo %s equivale igual a %s' % (1 + 0j, 1)
>>> complex
'Numero complexo (1+0j) equivale igual a 1'
>>>
Abaixo segue a tabela com os especificadores qual permitem formatação com outros tipos de dados.
Table 3-4
String Formatting Characters
Character Description
d or I Decimal (base 10) integer
Floating point number
f
String or any object
s
Single character
c
Unsigned decimal integer
u
X or x Hexadecimal integer (upper or lower case)
Octal integer
o
e or E Floating point number in exponential form
g or G Like %f unless exponent < -4 or greater than the precision. If so, acts like %e or %E repr() version of the object* r Use %% to print the percentage character. % >>> '%x %X' % (1212, 2323)
'4bc 913'
>>>
Vocẽ pode usar em vez de tuplas dict dados para fazer a formatação.
>>> data = {'name':'livia', 'age': 28}
>>> 'Nome da pessoa %(name)s e idade %(age)s' % data
'Nome da pessoa livia e idade 28'
>>>
Tamanho minimo de campo
Um numero indica o tamanho minimo do campo.
>>> print '%4d' % 23
23
>>> print '%10d' % 234
234
>>> print '%4d, %-4d' % (2, 1)
2, 1
>>> print '%-4d, %04d' % (2, 1)
2 , 0001
>>> print '%-4d, %14d' % (2, 1)
2 , 1
>>> print '%-4d, %4d' % (2, 1)
2 , 1
>>> print '%-4d, %4d' % (2, 1)
2 , 1
>>> print '%-4d, %04d' % (2, 1)
2 , 0001
>>>
o %04 diz que o python deve preencher as casas que sobram com 0.
e o -4 diz que deve ser justificado a direita e nao a esquerda.
Você pode indicar a precisão decimal usando um '.'
>>> print '%03.2f' % 3.2343
3.23
>>> print '%03.23f' % 3.2343
3.23430000000000017479351
>>> print '%03.3f' % 3.2343
3.234
>>> print '%03.1f' % 3.2343
3.2
>>> print '%03.1f' % 3234.2343
3234.2
>>> print '%03.1f' % 3234344.2343
3234344.2
>>> print '%03.10f' % 3234344.2343
3234344.2343000001
>>> print '%+3.10f' % 3234344.2343
+3234344.2343000001
>>> print '%-3.10f' % 3234344.2343
3234344.2343000001
>>> print '%-10.10f' % 3234344.2343
3234344.2343000001
>>> print '%-10.10f' % 323.2343
323.2343000000
>>>
Você também pode usar o * e uma lista de valores assim o python irá olhar para a lista
e formatar acordando ao exemplo abaixo.
>>> ‘%*.*f’ % (4, 2, 1.21356)
'1.21'
>>>
0 comentários:
Postar um comentário
Faça o seu comentário e nos siga no Twitter