Probablemente me falta algo aquí, después de buscar no pude encontrar una respuesta.
He explorado bastantes proyectos de Python y una cosa que sigo notando es el hecho de que la mayoría de ellos continúan usando el %operador para formatear cadenas en lugar del .format()método más nuevo y recomendado . ¿Hay alguna razón para esto? parece un cambio trivial, a menos que me falte algo por completo.
Por ejemplo:
# 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
No hay una razón real para esta pregunta, solo curiosidad.
¡Animo amigos!
%es más eficiente y menos detallado para los reemplazos simples de cadenas. Lo uso la mayoría de las veces, y cuando necesito un formato más potente.format
.format()método?