Formato de cadena en Python

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: 

Supongo que te gusta

Origin blog.csdn.net/tjfsuxyy/article/details/130211753
Recomendado
Clasificación