El método de formato de cadena en Python es el siguiente:
Forma |
Observación |
---|---|
imprimir(contenido1,contenido2,contenido3,...) | Utilice el símbolo "," para empalmar contenido. |
imprimir(Cadena 1+Cadena 2+Cadena 3...) | Si no es una cadena, se requiere la conversión de cadena [ str() ] ; de lo contrario, se informará un error. |
print("...%s...%d...%f..."%(Variable 1, Variable 2, Variable 3)) | %s representa un marcador de posición para una cadena; %d es el marcador de posición para el número entero (int), donde d es la abreviatura de dígito (número); %f es un marcador de posición para un número de punto flotante (flotante), que conserva 6 dígitos después del punto decimal de forma predeterminada. El valor se redondeará. |
imprimir(f"...{nombre de variable}...") | f es la abreviatura de formato (formato de configuración) |
El código correspondiente es el siguiente:
name = '笨小孩'
sex = '男'
age = 24
height = 168.5
# 方式一:
print(name, sex, age, height)
# 方式二: print("我叫" + name + "性别为" + sex + "今年" + age+"身高是"+height)
# 报错:TypeError: can only concatenate str (not "int") to str
print("我叫" + name + "性别为" + str(sex) + "今年" + str(age) + "身高是" + str(height))
# 方式三:
print("我叫%s,性别为%s,今年%d,身高是%f" % (name, sex, age, height))
# 方式四
print(f"我叫{name},性别为{sex},今年{age},身高是{height}")
resultado de la operación:
Análisis ampliado:
En la vida real, es posible controlar la precisión de los números en la cadena de salida, pero ¿cómo hacerlo?
Podemos utilizar el símbolo auxiliar "mn" para controlar el ancho y la precisión de los datos.
-
m, controla el ancho. El ancho establecido es mayor que el número en sí. De forma predeterminada, se usarán espacios para completar el ancho. También puede usar 0 para completar. El ancho establecido es menor que el número en sí y no tendrá efecto . .n , controla la precisión del punto decimal y redondeará los valores decimales.
print("...%s...%d...%f..."%(nombre de variable 1, nombre de variable 2, nombre de variable 3) | imprimir(...{nombre de la variable}....) | |
---|---|---|
entero | %Maryland, %0md |
{Nombre de la variable: md}, {Nombre de la variable: 0md} |
número de coma flotante | %.nf, m.nf, %m.nf |
{Nombre de la variable:.nf}, {Nombre de la variable: m.nf}, {Nombre de la variable: 0m.nf} |
Caso 1: control de ancho
name = '笨小孩'
sex = '男'
age = 24
height = 168.5
"""age宽度设置为5>2,默认会用空格补足宽度,也可以使用0进行补全!!!"""
# 方式1
print("我叫%s,性别为%s,今年%5d,身高是%f" % (name, sex, age, height))
print(f"我叫{name},性别为{sex},今年{age:5d},身高是{height}")
# 方式2
print("我叫%s,性别为%s,今年%05d,身高是%f" % (name, sex, age, height))
print(f"我叫{name},性别为{sex},今年{age:05d},身高是{height}")
"""age宽度设置为1>2,不生效!!!"""
# 方式1
print("我叫%s,性别为%s,今年%1d,身高是%f" % (name, sex, age, height))
print(f"我叫{name},性别为{sex},今年{age:1d},身高是{height}")
# 方式2
print("我叫%s,性别为%s,今年%01d,身高是%f" % (name, sex, age, height))
print(f"我叫{name},性别为{sex},今年{age:1d},身高是{height}")
El resultado es el siguiente:
Situación 2: control de precisión
name = '笨小孩'
sex = '男'
age = 24
height = 168.5
"""身高取值范围保留2位小数"""
# 方式1
print("我叫%s,性别为%s,今年%d,身高是%.2f" % (name, sex, age, height))
print(f"我叫{name},性别为{sex},今年{age},身高是{height:.2f}")
# 方式2
print("我叫%s,性别为%s,今年%d,身高是%8.2f" % (name, sex, age, height))
print(f"我叫{name},性别为{sex},今年{age},身高是{height:8.2f}")
# 方式3
print("我叫%s,性别为%s,今年%d,身高是%4.2f" % (name, sex, age, height))
print(f"我叫{name},性别为{sex},今年{age},身高是{height:4.2f}")
# 方式4
print("我叫%s,性别为%s,今年%d,身高是%08.2f" % (name, sex, age, height))
print(f"我叫{name},性别为{sex},今年{age},身高是{height:08.2f}")
El resultado es el siguiente: