¿Qué significa %s en una string de formato de Python?

El símbolo % se usa en Python con una gran variedad de tipos de datos y configuraciones. %s se usa específicamente para realizar la concatenación de strings juntas. Nos permite formatear un valor dentro de una string. Se utiliza para incorporar otra string dentro de una string. Proporciona automáticamente conversión de tipo de valor a string. 

El operador %s se coloca donde se va a especificar la string. El número de valores que desea agregar a una string debe ser equivalente al número especificado entre paréntesis después del operador % al final del valor de la string. 

El siguiente código de Python ilustra la forma de realizar el formateo de strings. 

Uso sencillo de %s

Python3

# declaring a string variable
name = "Geek"
  
# append a string within a string
print("Hey, %s!" % name)

Producción

Hey, Geek!

Múltiples %s

También se pueden agregar varias strings dentro de una sola string usando el operador %s. Las strings se reemplazan en el orden de su posición en los corchetes, siempre que haya un signo %s. Esto se ilustra usando el siguiente fragmento de código:

Python3

# declaring a string variable
var1 = "Geek!"
var2 = "Geeks for Geeks"
  
# append multiple strings within a string
print("Hello %s Are you enjoying being at %s for preparations." % (var1, var2))

Producción

¡Hola friki! ¿Estás disfrutando estar en Geeks for Geeks para los preparativos?

Asignación de strings a %s

Sin embargo, la cantidad de ocurrencias de este operador debe ser igual a la cantidad de strings que se reemplazarán después del signo %. De lo contrario, se arroja un error del tipo «TypeError: no hay suficientes argumentos para la string de formato».

Python3

# declaring string variables
str1 = 'Understanding'
str2 = '%s'
str3 = 'at'
str4 = 'GeeksforGeeks'
  
# concatenating strings but %s not equal to string variables
final_str = "%s %s %s %s" % (str1, str3, str4)
  
# printing the final string
print("Concatenating multiple strings using Python '%s' operator:\n")
print(final_str)

Error

Rastreo (llamadas recientes más última):

  Archivo “/home/c7b65fabd2ad00163eba70bbc39685d3.py”, línea 8, en <módulo>

    string_final = “%s %s %s %s” % (string1, string3, string4)

TypeError: no hay suficientes argumentos para la string de formato

Código correcto

Python3

# declaring string variables
str1 = 'Understanding'
str2 = '%s'
str3 = 'at'
str4 = 'GeeksforGeeks'
  
# concatenating strings
final_str = "%s %s %s %s" % (str1, str2, str3, str4)
  
# printing the final string
print("Concatenating multiple strings using Python '%s' operator:\n")
print(final_str)

Producción

Concatenating multiple strings using Python '%s' operator:

Understanding %s at GeeksforGeeks

Ordene %s usando el diccionario

Las strings se imprimen en el orden en que se agregan utilizando la clave del diccionario en la salida.

Python3

# declaring string variables with dictionary
dct = {'str1': 'at',
       'str2': 'GeeksforGeeks',
       'str3': 'Understanding',
       'str4': '%s'}
  
# concatenating strings
final_str = "%(str3)s %(str4)s %(str1)s %(str2)s" % dct
  
# printing the final string
print("Concatenating multiple strings using Python '%s' operator:\n")
print(final_str)

Producción

Concatenating multiple strings using Python '%s' operator:

Understanding %s at GeeksforGeeks

Lista como una string para %s

Un operador que no sea una string también se puede formatear usando el símbolo %s en Python. Las tuplas también se pueden insertar y formatear usando este operador. 

Python3

# declaring string variables
str1 = 'Understanding'
str2 = 'integers'
str3 = 'at'
str4 = 'GeeksforGeeks = '
  
# declaring list variables
lst = [1, 2, 3]
  
# concatenating strings as well as list
final_str = "%s %s %s %s %s" % (str1, str2, str3, str4, lst)
  
# printing the final string
print("Concatenating multiple values using Python '%s' operator:\n")
print(final_str)

Producción

Concatenating multiple values using Python '%s' operator:

Understanding integers at GeeksforGeeks =  [1, 2, 3]

Publicación traducida automáticamente

Artículo escrito por codersgram9 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *