Provavelmente estou perdendo alguma coisa aqui, depois de pesquisar não consegui encontrar uma resposta.
Eu explorei alguns projetos Python e uma coisa que eu continuo percebendo é o fato de que a maioria deles continua a usar o %
operador para formatar seqüências de caracteres, em vez do .format()
método mais novo e recomendado . Existe uma razão para isso? parece uma mudança trivial, a menos que eu esteja perdendo algo completamente.
Por exemplo:
# count how many times the % operator technique is used
find . -name "*.py" -exec grep -HE "\"[^\"]+\"\s\%\s\w+|'[^']+'\s\%\s\w+" {} \; | wc -l
# and the same for format()
find . -name "*.py" -exec grep -HE "\w+\.format\(" {} \; | wc -l
# Results:
#
# % operator format()
# iPython 670 63
# Django 977 8
# Tornado 91 0
# requests 25 1
Não há razão real para esta pergunta, apenas curioso.
Saúde Gente!
%
é mais eficiente e menos detalhado para substituições simples de strings. Eu o uso na maioria das vezes, e quando preciso de uma formatação mais poderosa .format
.format()
método?