trabajar - Manera de impresión de Python: ¿con ''formato'' o forma de porcentaje?
que significa el simbolo de porcentaje en python (4)
Esta pregunta ya tiene una respuesta aquí:
- Formateo de cadena Python:% vs. .format 13 respuestas
En Python, parece haber dos formas diferentes de generar resultados formateados:
user = "Alex"
number = 38746
print("%s asked %d questions on stackoverflow.com" % (user, number))
print("{0} asked {1} questions on stackoverflow.com".format(user, number))
¿Hay una manera de ser preferido sobre el otro? ¿Son equivalentes, cuál es la diferencia? ¿Qué forma debería usarse, especialmente para Python3?
Puede utilizar ambos. Nadie dijo que la expresión de formato% está en desuso. Sin embargo, como se dijo antes, la llamada al método de formato es un poco más poderosa. También tenga en cuenta que las expresiones% son un poco más concisas y fáciles de codificar. Inténtelo y vea lo que más le convenga.
Use el método de format
, especialmente si le preocupa Python 3 y el futuro. De la documentación :
Las operaciones de formateo descritas aquí [% sustituciones] son obsoletas y pueden desaparecer en versiones futuras de Python. Use el nuevo Formato de cadena en el nuevo código.
Los documentos dicen que el método de format
es preferido para el nuevo código. Sin embargo, actualmente no hay planes para eliminar el% de formateo.
.format
se introdujo en Python2.6
Si necesita compatibilidad con versiones anteriores de Python, debe usar %
Para Python3 y posterior, debe usar .format
para asegurarse
.format
es más poderoso que %
. Portar %
a .format
es fácil, pero a la inversa puede ser no trivial