¿Cuál es la diferencia entre %s y %d en el formato de cadenas de Python?

No entiendo qué hacen %s y %d y cómo funcionan.

Se utilizan para dar formato a las cadenas. %s actúa como marcador de posición para una cadena mientras que %d actúa como marcador de posición para un número. Sus valores asociados se pasan a través de una tupla utilizando el operador %.

name = 'marcog'
number = 42
print '%s %d' % (name, number)

imprimirá marcog 42. Tenga en cuenta que el nombre es una cadena (%s) y el número es un entero (%d para los decimales).

Consulte https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting para más detalles.

En Python 3 el ejemplo sería:

print('%s %d' % (name, number))
Comentarios (5)

%s se utiliza como marcador de posición para los valores de las cadenas que se quieren inyectar en una cadena formateada.

%d se utiliza como marcador de posición para valores numéricos o decimales.

Por ejemplo (para python 3)

print ('%s is %d years old' % ('Joe', 42))

La salida sería

Joe is 42 years old
Comentarios (3)

Son especificadores de formato. Se utilizan cuando se quiere incluir el valor de las expresiones de Python en cadenas, con un formato específico forzado.

Ver Dive into Python para una introducción relativamente detallada.

Comentarios (0)