Saltar al contenido principal
eLearner.app
Módulo 1 · Lección 4 de 44/36 en el curso~8 min
Lecciones del módulo (4/4)

Impresión y f-strings

Para comunicar algo al usuario (o para ver qué está sucediendo dentro de nuestro programa) utilizamos la función integrada print(...). Para componer texto a partir de múltiples valores, la sintaxis moderna y preferida es la f-string.

print(...)

Python
print("Ciao, mondo!")           # Ciao, mondo!
print("a", "b", "c")            # a b c       (separati da spazio)
print(2 + 2)                    # 4
print("riga 1", "riga 2")       # riga 1 riga 2

print puede tomar tantos argumentos como desees: los une con un espacio (por defecto) y añade una nueva línea al final. Puedes cambiar ambos con los parámetros sep y end:

Python
print("a", "b", "c", sep="-")   # a-b-c
print("senza newline", end="")  # niente \n dopo

f-string: interpolación moderna

Una f-string es una cadena precedida por f: dentro de las llaves {...} puedes insertar cualquier expresión de Python, la cual será evaluada e insertada en el resultado:

Python
nome = "Ada"
anni = 30
print(f"Mi chiamo {nome} e ho {anni} anni.")
# Mi chiamo Ada e ho 30 anni.

Dentro de las llaves puedes poner llamadas, operaciones, accesos a objetos — es código Python en todos los aspectos:

Python
prezzo = 12.5
quantita = 3
print(f"Totale: {prezzo * quantita:.2f} €")
# Totale: 37.50 €

El :.2f después de los dos puntos es una especificación de formato (format spec): en este caso "dos dígitos decimales, punto fijo". Las especificaciones de formato más útiles:

  • :.Nf — N dígitos decimales (f"{pi:.4f}"3.1416).
  • :N / :>N / :<N / :^N — ancho N, alineación derecha/izquierda/centro.
  • :_ o :, — separador de miles (f"{1000000:,}"1,000,000).

Sintaxis alternativas (para referencia)

Antes de las f-strings (introducidas en Python 3.6) se usaban dos formas que aún encontrarás en código más antiguo:

Python
# stile .format() — verboso ma esplicito
"{} ha {} anni".format("Ada", 30)

# stile %-formatting — molto vecchio
"%s ha %d anni" % ("Ada", 30)

Para código nuevo, usa siempre f-strings: más cortas, más legibles, más rápidas.

Formateo avanzado con f-strings

Las f-strings admiten ricas especificaciones de formateo directamente dentro de las llaves. Por ejemplo, para formatear un número decimal con exactamente dos decimales, puedes escribir:

Python
price = 19.99
print(f"Price: {price:.2f} $")

El especificador :.2f indica que queremos representar el float con exactamente 2 posiciones decimales.

Pruébalo tú

Ejercicio#python.m1.l4.e1
Intentos: 0Cargando...

Dados `name = 'Ada'` y `age = 30`, construye la cadena 'Ada ha 30 anni' con una f-string y asígnala a `line`. Evalúa `line`.

Cargando editor...
Mostrar pista

Sintaxis: f"something {variable} something else"

Solución disponible después de 3 intentos

Ejercicio de repaso

Ejercicio#python.m1.l4.e2
Intentos: 0Cargando...

Imprime con print() la cadena 'pi greco vale 3.14' a partir de `pi = 3.14159`, usando una f-string con una especificación de formato de 2 decimales.

Cargando editor...
Mostrar pista

La especificación de formato va después de los dos puntos dentro de las llaves: {pi:.2f}.

Solución disponible después de 3 intentos

Desafío adicional

Ejercicio#python.m1.l4.e3
Intentos: 0Cargando...

Dada una variable `price` establecida en `19.99`, usa una f-string para construir la cadena `'Price: 19.99 €'` y almacénala en `receipt_line`. Finalmente, evalúa la variable.

Cargando editor...
Mostrar pista

Usa f"Price: {price} €" y asigna el resultado a receipt_line.

Solución disponible después de 3 intentos