Formato de cadena#
Introducción#
La forma recomendada de formatear texto y números en Python es con f-strings. Permiten que las variables, expresiones y llamadas a funciones se incrusten directamente dentro de {}.
Para crear una cadena f, agregue f antes de la cadena y coloque cualquier variable, expresión o llamada a función dentro de {}.
x = 1
y = 5
# Display the variables using an f-string
controller.screen.print(f"Position: ({x}, {y})")
# Display a calculation with an f-string
controller.screen.print(f"Sum: {5 + 3}")
# Display the robot's battery capacity with an f-string
controller.screen.print(f"Battery: {controller.get_battery_level()}%")
f-strings – Incrusta variables y expresiones directamente en el texto.
f”{value}”– Muestra variables, expresiones o llamadas a funciones dentro de una cadena.
Formato de números en cadenas f: controle cómo aparecen los valores numéricos.
:.xf– Establece el número de decimales que se mostrarán.round– Redondea un número a un número determinado de lugares decimales.:,– Agrega comas como separadores de miles.:.x%– Convierte un decimal en un porcentaje con x lugares decimales.:#x– Formatea un número como hexadecimal.:b– Formatea un número como binario.
Combinación de cadenas: combina texto y valores.
f”{value}”– Combina cadenas y variables en una sola expresión.Operador
+– Concatena cadenas manualmente con conversión de tipo opcional.
Métodos de cadena: cambian el caso del texto.
upper– Convierte todos los caracteres a mayúsculas.lower– Convierte todos los caracteres a minúsculas.
Comprobaciones de subcadenas: prueba la presencia o posición del texto.
in– Comprueba si una palabra existe en una cadena.startswith– Comprueba si una cadena comienza con un valor dado.endswith– Comprueba si una cadena termina con un valor dado.
Secuencias de escape: formatear la salida con caracteres especiales.
Formato de números en cadenas f#
Las cadenas f permiten un control preciso sobre los decimales, el redondeo, los separadores de miles y más mediante el uso de los siguientes especificadores de formato:
Fixed Decimal Places#
.xf controla con cuántos decimales se muestra un número.
Usage:
.xf
Parámetros |
Descripción |
|---|---|
|
La cantidad de decimales a mostrar. |
# Display pi with 2 decimal places
pi = 3.1415926535
controller.screen.print(f"Pi: {pi:.2f}")
# Output: Pi: 3.14
Rounding Numbers#
round redondea los números fuera de una cadena f o dentro de {}.
Usage:
round(number, x)
Parámetros |
Descripción |
|---|---|
|
El número a redondear. |
|
La cantidad de decimales a redondear. |
# Display a value rounded to only 2 decimal places
value = 5.6789
controller.screen.print(f"{round(value, 2)}")
# Output: 5.68
Thousands Separator#
, inserta comas como separadores de miles para que los números grandes sean más legibles.
Usage:
,
Parámetros |
Descripción |
|---|---|
Este especificador de formato no tiene parámetros. |
# Display a large number separated with commas
number = 1234567
controller.screen.print(f"{number:,}")
# Output: 1,234,567
Percentage#
.x% formatea los valores decimales como porcentajes.
Usage:
.x%
Parámetros |
Descripción |
|---|---|
|
La cantidad de decimales a mostrar. |
# Display a converted decimal to a percentage
value = 0.875
controller.screen.print(f"{value:.1%}")
# Output: 87.5%
Hexadecimal#
.#x convierte números a hexadecimal.
Usage:
.#x
Parámetros |
Descripción |
|---|---|
Este especificador de formato no tiene parámetros. |
# Convert 255 to hexadecimal
number = 255
controller.screen.print(f"{number:#x}")
# Output: 0xff
Binary#
b convierte números a binario (base 2).
Usage:
b
Parámetros |
Descripción |
|---|---|
Este especificador de formato no tiene parámetros. |
# Convert 3 to binary
controller.screen.print(f"Binary: {3:b}")
# Output: Binary: 11
Combinando cadenas#
Puede combinar (o concatenar) cadenas utilizando dos enfoques:
Using f-strings#
Con las f-cadenas, puedes incrustar variables directamente dentro de {}.
# Display an answer based on the given emotion
emotion = "good"
controller.screen.print(f"I'm {emotion}, you?")
+ Operator#
Puedes combinar cadenas manualmente usando el operador +.
Nota: Los valores que no sean cadenas deben convertirse primero a cadenas usando str().
# Display the x and y values
x = 10
y = 20
controller.screen.print("X: " + str(x) + ", Y: " + str(y))
Métodos de cadena#
Python proporciona métodos integrados para modificar y comprobar cadenas.
upper#
upper convierte todas las letras de una cadena a mayúsculas.
Usage:
upper()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Display a message in uppercase
message = "vexcode"
controller.screen.print(message.upper())
# Output: VEXCODE
lower#
lower convierte todas las letras de una cadena a minúsculas.
Usage:
lower()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Display a message in lowercase
message = "VEXCODE"
controller.screen.print(message.lower())
# Output: vexcode
Comprobación de subcadenas#
in#
in es una palabra clave que devuelve un valor booleano que indica si una subcadena (palabra o fragmento de texto) existe en una cadena.
True– La palabra existe en la cadena.False– La palabra no existe en la cadena.
# Display a message if "Hey" is in the string
message = "Hey everyone!"
if "Hey" in message:
controller.screen.print("Hello!")
startswith#
startswith devuelve un valor booleano que indica si una cadena comienza con un valor determinado.
True– La palabra inicia la cadena.False– La palabra no inicia la cadena.
Usage:
startswith(substring)
Parámetros |
Descripción |
|---|---|
|
La subcadena que se debe comprobar al principio de la cadena. |
# Display a message if the string starts with "AIR"
message = "AIR Drone"
if message.startswith("AIR"):
controller.screen.print("AIR first!")
endswith#
endswith devuelve un valor booleano que indica si una cadena termina con un valor determinado.
True– La palabra finaliza la cadena.False– La palabra no finaliza la cadena.
Usage:
endswith(substring)
Parámetros |
Descripción |
|---|---|
|
La subcadena que se debe comprobar al final de la cadena. |
# Display a message if the string ends with "Drone"
message = "AIR Drone"
if message.endswith("Drone"):
controller.screen.print("Drone last!")
Secuencias de escape#
Las secuencias de escape son caracteres especiales que se utilizan dentro de cadenas para dar formato a la salida de texto. Solo están disponibles para su uso con la Consola.
New Line#
\n mueve el texto a una nueva línea al imprimir.
# Display text on two lines
print("First line\nSecond line")
Tab Spacing#
\t inserta un espacio de tabulación entre palabras o números.
# Display the quantity of barrels
quantity = 2
print("IDs:\t", quantity)