Eu tenho uma string deste formulário
s='arbit'
string='%s hello world %s hello world %s' %(s,s,s)
Todos os% s na string têm o mesmo valor (ou seja, s). Existe uma maneira melhor de escrever isso? (Em vez de listar três vezes)
%operador de string será "obsoleto no Python 3.1 e removido posteriormente em algum momento" docs.python.org/release/3.0.1/whatsnew/… agora eu me pergunto qual é a maneira mais recomendada para compatibilidade de versão e segurança.
str.format(). Ex .: query = "SELECT * FROM {named_arg}"; query.format(**kwargs), onde queryé a string de formato e kwargsé um dicionário com chaves que correspondem aos named_args na string de formato.
{0}, {1}, {2}e assim por diante correspondem aos índices de tupla 0, 1, e 2, respectivamente. Como alternativa, também é possível nomear os args (como {named_arg}) e definir cada um no método de formato, da seguinte forma:'Hi {fname} {lname}!'.format(fname='John', lname='Doe')