Python format función de formato

Python 字符串Cadenas de Python


Desde Python2.6, se agregó una función para formatear cadenasstr.format(), que mejoró la funcionalidad del formateo de cadenas.

La sintaxis básica es mediante{}y:para reemplazar al anterior% 。

La función format puede aceptar un número ilimitado de parámetros, y las posiciones pueden no estar en orden.

Ejemplo

>>>"{} {}".format("hello", "world") # No se establece una posición específica, se usa el orden predeterminado 'hello world' >>> "{0} {1}".format("hello", "world") # Se establece una posición específica 'hello world' >>> "{1} {0} {1}".format("hello", "world") # Se establece una posición específica 'world hello world'

También se pueden establecer parámetros:

Ejemplo

#!/usr/bin/python # -*- coding: UTF-8 -*- print("Nombre del sitio: {name}, dirección {url}".format(name="Tutorial de Ejemplo", url="www.example.com")) # Establecer parámetros mediante un diccionario site = {"name": "Tutorial de Ejemplo", "url": "www.example.com"} print("Nombre del sitio: {name}, dirección {url}".format(**site)) # Establecer parámetros mediante índice de lista my_list = ['Tutorial de Ejemplo', 'www.example.com'] print("Nombre del sitio: {0".format(my_list)) # "0" es obligatorio

El resultado es:

网站名:Ejemplo, 地址 www.example.com
网站名:Ejemplo, 地址 www.example.com
网站名:Ejemplo, 地址 www.example.com

También se pueden pasarstr.format()objetos a:

Ejemplo

#!/usr/bin/python # -*- coding: UTF-8 -*- class AssignValue(object): def __init__(self, value): self.value = value my_value = AssignValue(6) print('value es: {0.value}'.format(my_value)) # "0" es opcional

El resultado es:

value 为: 6

Formato de números

La siguiente tabla muestra varios métodos de str.format() para formatear números:

>>> print("{:.2f}".format(3.1415926))
3.14
NúmeroFormatoSalidaDescripción
3.1415926 {:.2f} 3.14 Conservar dos decimales
3.1415926 {:+.2f} +3.14 Conservar dos decimales con signo
-1 {:-.2f} -1.00 Conservar dos decimales con signo
2.71828 {:.0f} 3 Sin decimales
5 {:0>2d} 05 Rellenar con ceros (relleno a la izquierda, ancho 2)
5 {:x<4d} 5xxx Rellenar con x (relleno a la derecha, ancho 4)
10 {:x<4d} 10xx Rellenar con x (relleno a la derecha, ancho 4)
1000000 {:,} 1,000,000 Formato numérico separado por comas
0.25 {:.2%} 25.00% Formato de porcentaje
1000000000 {:.2e} 1.00e+09 Notación exponencial
13 {:>10d}         13 Alinear a la derecha (predeterminado, ancho 10)
13 {:<10d} 13 Alinear a la izquierda (ancho 10)
13 {:^10d}     13 Alinear al centro (ancho 10)
11
'{:b}'.format(11)
'{:d}'.format(11)
'{:o}'.format(11)
'{:x}'.format(11)
'{:#x}'.format(11)
'{:#X}'.format(11)
1011
11
13
b
0xb
0XB
Base numérica

^, <, >Son respectivamente centrado, alineación a la izquierda y alineación a la derecha, seguidos del ancho,:Después del signo se coloca el carácter de relleno; solo puede ser un carácter; si no se especifica, se rellena con espacios por defecto.

+Indica mostrar antes de los números positivos+, mostrar antes de los negativos-; (espacio) indica agregar un espacio antes de los números positivos

b, d, o, x son respectivamente binario, decimal, octal y hexadecimal.

Además podemos usar llaves{}para escapar llaves, como en el siguiente ejemplo:

Ejemplo

#!/usr/bin/python # -*- coding: UTF-8 -*- print ("La posición correspondiente de {} es {{0}}".format("ejemplo"))

El resultado es:

ejemplo 对应的位置是 {0}

Python 字符串Cadenas de Python

Otras extensiones