¿Por qué el formato en Python a veces está resaltado y otras no?
1. Independientemente del tipo de datos, %s solo puede reemplazar el tipo de cadena en el método %.
2. Un solo parámetro se puede generar varias veces y el orden de los parámetros puede ser diferente.
3. El método de llenado es muy flexible y el método de alineación es muy poderoso.
4. El método % recomendado oficialmente se cancelará en versiones futuras.
Ejemplo de formato
Imprimir "Hola {0}". Format("world")
Saldrá hola mundo.
Formato de formato
Campo de reemplazo:="{"[nombre de campo]["!"Conversión][":"format_spec]"}"
Nombre del campo::=Nombre del parámetro ("."Nombre del atributo|"["Índice del elemento"]""*.
arg_name::=[Identificador|Entero]
Nombre del atributo ::=identificador
Índice de elemento::=entero|cadena de índice
cadena de índice::= & lt;Cualquier cosa excepto el carácter fuente "]""; +
Conversión::= "r"|"s"|"a"
formato _ spec::= <descrito en la siguiente sección>
Formato Format_spec
formato _ especificación::=[[relleno]alinear][signo][#][0][ancho][,][precisión][tipo 】
Relleno::= & ltany. carácter& gt
align::="& lt|"》;| "=" | "^"
Signo::=“+“|“-“|“.
Ancho::=Entero
Precisión::=Entero
Tipo::= "b"|"c"|"d"|"E"| "E"|"F"|"F"|"G"|"G"|"n"|"o"|"s"|"X "|" Hola {0}, soy {1}". ('Kevin'' Tom') #
Hola Kevin, soy Tom
Imprimir "Hola {} soy {}". ) #
Hola Kevin, soy Tom
Imprimir 'Hola {0} Soy {1 }.Mi
nombre es {0}. Format('Kevin','Tom')#Hola Kevin, mi nombre es Tom.
Foramt completará la cadena con los parámetros en orden posicional. El primer parámetro es 0, luego 1...
No es necesario ingresar un número, el número también estará allí. Completar en orden
El mismo parámetro se puede completar varias veces. Aquí es donde está el formato. más avanzado que %
2. Llenado de claves
Imprime "tú. Hola {nombre1}, soy {nombre2}". 'Tom') #Hola, Kevin, soy Tom
3. Completa con subíndices
names =['Kevin', 'Tom']
Imprime "Hola {nombres【0】} soy
{nombres【1】} ". Formato (nombre = nombre) #
Hola Kevin, soy Tom
Imprimir "Hola { 0【0】} Soy { 0【1】}". Formato (nombre) #
Hola Kevin, soy Tom
4 Por clave del diccionario
nombres = {"name":"Kevin", ". name 2":"Tom"}
Imprimir "Hola {nombres[nombre]} soy {nombres[nombre 2]}".
Formato (nombre = nombre) #Hola Kevin, soy Tom
Presta atención a la clave del diccionario sin comillas
5. p>Nombre de clase():
nombre 1 ='Kevin'
nombre2="Tom"
Imprimir "Hola {nombres.nombre1} i p>
Soy {names.name2}.Format(name=name)#
Hola Kevin, soy Tom
Usa parámetros mágicos
args =【'Lu'】
kwargs = {"nombre 1":"Kevin","nombre 2":"Tom"}
Imprimir "Hola{ nombre1} {} Soy {nombre2}". formato (* args, * * kwargs) #Hola Kevin, soy Tom
Dos conversiones de formato
b, D, O y >
3.1415926 {:+. 2f} 3.14 con signo, con dos decimales
-1 {:+ 2f}-1, con dos decimales. } 3 sin decimales
1000000 {:} 1.000.000 formato de números separados por coma
0,25 {:. % formato de porcentaje
10000000 {:. +09 notación exponencial
25 {0:b} 11001 convertido a binario
25 { 0:d} 25 se convierte a decimal
25 {0: o} 31 se convierte a octal
25 {0:x} 19 se convierte a hexadecimal
>Triple alineación y relleno
Descripción de salida del formato numérico
5 {:0>2} Relleno de ceros de 05 dígitos (relleno izquierdo, ancho 2)
5 {:x <4} Complemento numérico 5xxx x (relleno derecho, ancho 4)
10 {:x 4} complemento numérico x10x El ancho es 4
13 {:10} 13 Alineado a la derecha (por defecto, el ancho es 10). p>13 {:<10} 13 Alineado a la izquierda (por defecto ancho 10)
13 {:10} 13 alineación central (ancho 10)
Otros cuatro
1. Símbolos de escape { y }
p>
Imprimir "{Hola{0}}}". format("Kevin")
Al igual que %% escapando% en%, el formato se escapa con dos llaves.
2. Formato como función
f = 'Hola {0}, soy {1}. Formato
Imprimir f('Kevin', 'Tom')
Paso 3 Formatear fecha y hora
now=datetime.now()
Imprimir '':% Y-% m-% d % X }'. Formato (ahora)
4.{}embedded{}
print 'hola { 0:>{1}} '.format("Kevin", 50 )
5. ¡Cómo utilizar el signo de exclamación
! Puede agregar s r a después para que corresponda a str()repr()ascii() respectivamente.
La función utiliza la función correspondiente para procesar los parámetros antes de completarlos.
Imprimir "{!s}". Formato ('2') #
2
Imprimir “{!r}“.
Formato ("2")#"2"
La diferencia es que repr tiene comillas, str() está orientado a los usuarios para mejorar la legibilidad, repr() está orientado a analizadores de Python y el valor de retorno representa El significado dentro de Python.
Ascii() sigue informando errores. Quizás esta característica solo esté disponible en 3.0.