El significado y uso de los %s, %d, %f.
Enigma CR
Autor: Edwin Ortiz Ampie
#%s Se refiere a una cadena de texto
# Significa% como alternativa, agregue la siguiente cadena "str2" después de str1
print('str1%s' % 'str2') # output: str1str2
string="hello"
#% s imprime el resultado es hola
print("string=%s" % string) # output: string=hello
#% 2s significa que la longitud de la cadena es 2,
#cuando la longitud de la cadena original excede de 2,
#se imprime la longitud original,
#por lo que el resultado de impresión de% 2s sigue siendo bueno
print("string=%2s" % string) # output: string=hello
#% 7s significa que la longitud de la cadena es 7,
#cuando la longitud de la cadena original es menor que 7,
#se agregan espacios a la izquierda de la cadena original,
# Entonces, el resultado de impresión de% 7s es hola
print("string=%7s" % string) # output: string= hello
#% - 7s significa que la longitud de la cadena es 7,
#cuando la longitud de la cadena original es menor que 7,
#se agregan espacios a la derecha de la cadena original,
# Entonces el resultado de impresión de% -7s es hola
print("string=%-7s!" % string) # output: string=hello !
#%. 2s significa interceptar los primeros 2 caracteres de la cadena,
#por lo que el resultado de impresión de% .2s es él
print("string=%.2s" % string) # output: string=he
#%. 7s significa interceptar los primeros 7 caracteres de la cadena,
#cuando la longitud de la cadena original es menor que 7, es la cadena misma,
# Entonces el resultado de impresión de% .7s es hola
print("string=%.7s" % string) # output: string=hello
#% a.bs Este formato es una combinación de los dos formatos anteriores,
#primero intercepte la cadena de acuerdo con el número b después del punto decimal,
#Cuando la longitud de la cadena interceptada es menor que a,
#debe completar espacios en el lado izquierdo
print("string=%7.2s" % string) # output: string= he
print("string=%2.7s" % string) # output: string=hello
print("string=%10.7s" % string) # output: string= hello
# También puede usar% *. * S para indicar precisión,
#los dos valores * se especifican en los dos primeros dígitos del paréntesis posterior
print ("string=%*.*s" % (7,2,string)) # output: string= he
%d Se refiere a un numero de tipo entero
num=14
#% d imprime el resultado es 14
print("num=%d" % num) # output: num=14
#% 1d significa que el resultado de la impresión es un entero de 1 bit.
#Cuando el número de enteros excede 1, se imprime el valor original del entero,
#por lo que el resultado de la impresión de% 1d sigue siendo 14.
print("num=%1d" % num) # output: num=14
#% 3d significa que el resultado impreso es un entero de 3 dígitos.
#Cuando el número de enteros es inferior a 3 dígitos, se agrega un
#espacio a la izquierda del entero, por lo que el resultado de impresión de% 3d es 14
print("num=%3d" % num) # output: num= 14
#% - 3d significa que el resultado impreso es un entero de 3 dígitos.
#Cuando el número de enteros es inferior a 3 dígitos,
#se agrega un espacio a la derecha del entero, por lo que el resultado de impresión de% 3d es 14_
print("num=%-3d" % num) # output: num=14_
#% 05d significa que el resultado de la impresión es un entero de 5 dígitos.
#Cuando el número de enteros es menor que 5, agregue 0 a la izquierda del entero,
#de modo que el resultado de la impresión de% 05d es 00014
print("num=%05d" % num) # output: num=00014
#%. 3d El 3 después del punto decimal significa que el resultado impreso es un entero de 3 dígitos,
# Cuando el número de enteros sea inferior a 3 dígitos, agregue 0 a la izquierda del entero,
#de modo que el resultado de impresión de% .3d sea 014
print("num=%.3d" % num) # output: num=014
#%. 0003d El 0003 después del punto decimal es el mismo que 3, lo que significa 3,
#lo que significa que el resultado de la impresión es un entero de 3 dígitos,
# Cuando el número de dígitos del número entero no es suficiente,
#agregue 0 a la izquierda del número entero, de modo que el resultado de
#impresión de% .3d todavía sea 014
print("num=%.0003d" % num) # output: num=014
#% 5.3d es una combinación de dos formas de llenar:
#cuando el número de enteros es menor que 3, primero llena 0 a la izquierda,
#o si no hay suficientes 5 bits, luego llena el espacio a la izquierda.
# La regla es completar primero 0, la longitud final es la que tiene el valor más grande,
#por lo que el resultado de impresión de% 5.3d sigue siendo 014
print("num=%5.3d" % num) # output: num= 014
#% 05.3d es una combinación de dos formas de complementar.
#Cuando el número de enteros no es suficiente, primero llena 0 en el lado izquierdo,
#o cuando no hay suficientes 5 bits,
# Debido a que es 05, luego agregue 0 a la izquierda,
#la longitud final elige la más grande, por lo que el resultado de impresión
#de% 05.3d sigue siendo 00014
print("num=%05.3d" % num) # output: num=00014
# También puede usar% *. * D para indicar la precisión.
#Los dos valores * se especifican en los primeros dos dígitos del paréntesis.
# Debajo, pero de esta manera 04 perderá la función de 0, solo espacios,
#solo 3 después del punto decimal puede ser 0
print("num=%*.*d" % (4,3,num)) # output: num= 014
#%f se refiere a un numero de tipo flotante
import math
#% a.bf, a representa la longitud de impresión del número de coma flotante,
#b representa la precisión detrás del punto decimal del número de coma flotante
# Solo% f representa el valor original,
#el valor predeterminado es 5 dígitos después del punto decimal
print("PI=%f" % math.pi) # output: PI=3.141593
# Solo% 9f, significa que la longitud de impresión es de 9 dígitos,
#y el punto decimal también ocupa un dígito,
#que no es suficiente para completar el espacio a la izquierda
print("PI=%9f" % math.pi) # output: PI=_3.141593
# Solo. Cuando no hay un número siguiente,
#significa que se elimina el decimal y se saca el número entero,
#y 03 significa que no hay suficientes 3 dígitos y el lado izquierdo se llena con 0
print("PI=%03.f" % math.pi) # output: PI=003
#% 6.3f indica que el punto decimal tiene una precisión de 3 dígitos,
#y la longitud total es de 6 dígitos, incluido el punto decimal,
#que no es suficiente para completar los espacios a la izquierda
print("PI=%6.3f" % math.pi) # output: PI=_3.142
#% - 6.3f significa que el punto decimal tiene una precisión de 3 dígitos,
#la longitud total es de 6 dígitos, incluido el punto decimal,
#no suficiente para llenar los espacios a la derecha
print("PI=%-6.3f" % math.pi) # output: PI=3.142_
# También puede usar% *. * F para indicar precisión.
#Los dos valores * se especifican en los dos primeros dígitos del paréntesis.
# Debajo, pero de esta manera 06 perderá la función de 0, solo espacios
print("PI=%*.*f" % (6,3,math.pi)) # output: PI=_3.142
Comentarios
Publicar un comentario