Formatação de strings#
Introdução#
As f-strings são a forma recomendada de formatar texto e números em Python. Permitem que variáveis, expressões e chamadas de funções sejam incorporadas diretamente dentro de {}.
Para criar uma f-string, adicione f antes da string e coloque qualquer variável, expressão ou chamada de função dentro de {}.
x = 1
y = 5
# Display the variables using an f-string
robot.screen.print(f"Position: ({x}, {y})")
# Display a calculation with an f-string
robot.screen.print(f"Sum: {5 + 3}")
# Display the robot's battery capacity with an f-string
robot.screen.print(f"Battery: {robot.get_battery_level()}%")
f-Strings – Incorporar variáveis e expressões diretamente no texto.
f”{value}”– Apresenta variáveis, expressões ou chamadas de funções dentro de uma string.
Formatação de números em f-strings – Controle o aspeto dos valores numéricos.
:.xf– Define o número de casas decimais a apresentar.round– Arredonda um número para um determinado número de casas decimais.:,– Adiciona vírgulas como separadores de milhares.:.x%– Converte um decimal numa percentagem com x casas decimais.:#x– Formata um número como hexadecimal.:b– Formata um número como binário.
Combinação de strings – Combinar texto e valores.
f”{value}”– Combina strings e variáveis numa única expressão.+ operator– Concatenar strings manualmente com conversão de tipo opcional.
Métodos de string – Alterar maiúsculas e minúsculas do texto.
upper()– Converte todos os caracteres para maiúsculas.lower()– Converte todos os caracteres para minúsculas.
Verificação de substring ––Testa a presença ou a posição do texto.
in– Verifica se uma palavra existe numa string.startswith()– Verifica se uma string começa com um determinado valor.endswith()– Verifica se uma string termina com um determinado valor.
Sequências de escape – Formatar a saída com caracteres especiais.
Formatação de números em f-strings#
As f-strings permitem um controlo preciso sobre casas decimais, arredondamentos, separadores de milhares e muito mais, utilizando os seguintes especificadores de formato:
Fixed Decimal Places#
.xf controla quantas casas decimais um número é apresentado.
Usage:
.xf
Parâmetros |
Descrição |
|---|---|
|
A quantidade de casas decimais a apresentar. |
# Display pi with 2 decimal places
pi = 3.1415926535
robot.screen.print(f"Pi: {pi:.2f}") # Output: Pi: 3.14
Rounding Numbers#
round arredonda números fora de uma f-string ou dentro de {}.
Usage:
round(number, x)
Parâmetros |
Descrição |
|---|---|
|
O número a arredondar. |
|
O número de casas decimais a arredondar. |
# Display a value rounded to only 2 decimal places
value = 5.6789
robot.screen.print(f"{round(value, 2)}") # Output: 5.68
Thousands Separator#
, insere vírgulas como separadores de milhares para tornar os números grandes mais legíveis.
Usage:
,
Parâmetros |
Descrição |
|---|---|
Este especificador de formato não possui parâmetros. |
# Display a large number separated with commas
number = 1234567
robot.screen.print(f"{number:,}") # Output: 1,234,567
Percentage#
.x% formata os valores decimais como percentagens.
Usage:
.x%
Parâmetros |
Descrição |
|---|---|
|
A quantidade de casas decimais a apresentar. |
# Display a converted decimal to a percentage
value = 0.875
robot.screen.print(f"{value:.1%}") # Output: 87.5%
Hexadecimal#
.#x converte números para hexadecimal.
Usage:
.#x
Parâmetros |
Descrição |
|---|---|
Este especificador de formato não possui parâmetros. |
# Convert 255 to hexadecimal
number = 255
robot.screen.print(f"{number:#x}") # Output: 0xff
Binary#
b converte números para binário (base 2).
Usage:
b
Parâmetros |
Descrição |
|---|---|
Este especificador de formato não possui parâmetros. |
# Convert 3 to binary
robot.screen.print(f"Binary: {3:b}") # Output: 11
Combinando strings#
Pode combinar (ou concatenar) strings utilizando duas abordagens:
Using f-strings#
Com f-strings, pode incorporar variáveis diretamente dentro de {}.
# Display an answer based on the given emotion
emotion = "good"
robot.screen.print(f"I'm {emotion}, you?")
+ Operator#
Pode combinar strings manualmente utilizando o operador +.
Nota: Os valores que não sejam strings devem ser primeiro convertidos em strings utilizando str().
# Display the x and y values
x = 10
y = 20
robot.screen.print("X: " + str(x) + ", Y: " + str(y))
Métodos de string#
O Python fornece métodos integrados para modificar e verificar strings.
upper#
upper converte todas as letras de uma string para maiúsculas.
Usage:
upper()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
message = "vexcode"
robot.screen.print(message.upper()) # Output: VEXCODE
lower#
lower converte todas as letras de uma string para minúsculas.
Usage:
lower()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
message = "VEXCODE"
robot.screen.print(message.lower()) # Output: vexcode
Verificação de substrings#
in#
in é uma palavra-chave que devolve um valor booleano indicando se existe uma substring (palavra ou excerto de texto) numa string.
True– A palavra existe na string.False– A palavra não existe na sequência.
message = "Hey everyone!"
if "Hey" in message:
robot.screen.print("Hello!")
startswith#
A função startswith devolve um valor booleano indicando se uma string começa com um determinado valor.
True– A palavra inicia a sequência.False– A palavra não inicia a sequência.
Usage:
startswith(substring)
Parâmetros |
Descrição |
|---|---|
|
A subcadeia de caracteres a verificar no início da cadeia. |
message = "AIM Robot"
if message.startswith("AIM"):
robot.screen.print("AIM first!")
endswith#
A função endswith devolve um valor booleano indicando se uma string termina com um determinado valor.
True– A palavra termina a sequência.False– A palavra não termina a sequência.
Usage:
endswith(substring)
Parâmetros |
Descrição |
|---|---|
|
A substring a verificar no final da string. |
message = "AIM Robot"
if message.endswith("Robot"):
robot.screen.print("Robot last!")
Sequências de Escape#
As sequências de escape são caracteres especiais utilizados dentro de strings para formatar a saída de texto. Estão apenas disponíveis para utilização com o Console.
New Line#
\n move o texto para uma nova linha ao imprimir.
# Display text on two lines
print("First line\nSecond line")
Tab Spacing#
\t insere um espaço de tabulação entre palavras ou números,
# Display the quantity of barrels
quantity = 2
print("Barrels:\t", quantity)