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.

  • \n – Adiciona uma quebra de linha (nova linha).

  • \t – Adiciona um espaço de tabulação entre os itens.

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

x

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

number

O número a arredondar.

x

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

x

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

substring

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

substring

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)