Diz o manual que a partir da versão 3.0 a formatação usando o método % será desencorajado, por isso resolvi incluir esse post.
Se você é iniciante em Python, tente começar a mudar logo para o método do str.format().
A mudança é simples. Portanto, vamos aos exemplos:
nome = 'Fernando'
sobrenome = 'Silva'
idade = 9
# Campo simples.
print "meu nome é %s" % (nome)
print "meu nome é {nome}".format(nome=nome)
# 2 campos mudando o nome da substituicao ("n" e "s").
print "meu nome completo é %s %s" % (nome, sobrenome)
print "meu nome completo é {n} {s}".format(n=nome, s=sobrenome)
# Numero com 2 algarismos e zero à esquerda.
print "minha idade é %02d anos" % (idade)
print "minha idade é {idade:02d} anos".format(idade=idade)
# Argumento posicional.
print "eu sou {0} e eu tenho {1} anos".format(nome, idade)
Eu, particularmente, prefiro o jeitão do format, porque eu posso nomear os campos. Mas ele só pode ser usado a partir do python 2.6.
Bem, esse é um post resumido, apenas com o caminho das pedras. O manual também ajuda. ;-)
Olá Vinicius, tudo certo?
ResponderExcluirParabéns pelo post cara, realmente muito bom! ;D
Abraços,
Francisco
Genial, simples e direto, melhor dizendo "pyctonico" :)
ResponderExcluirO novo format como método tem várias vantagens, porém, a substituição usado keywords já existia, veja o exemplo abaixo:
ResponderExcluir>>> x = "Teste %(nome)s e %(idade)d" % (dict(nome="ruda", idade=34))
>>> x
'Teste ruda e 34'
Rudá, obrigado pela contribuição.
ResponderExcluirA intenção deste blog é essa mesmo: enriquecer o conhecimento para os iniciantes na linguagem.