1
resposta

Inserir letra grega usando f-string

Olá,

Usar a barra invertida não funcionou para mim para gerar letras gregas, estou usando f-string:

eixo.annotate(f'\mu = {mu:.2f}\n\sigma = {sigma:.2f}', xy = (4.5, 20), fontsize = 15)
1 resposta

Olá, Gustavo! Tudo bom?

No LaTeX, nós utilizamos a contrabarra \ para utilizar comandos especiais, que nesse caso, seriam as letras gregas. Mas no Python, nós também utilizamos a contrabarra para chamar outra coisa, essas coisas são chamadas caracteres de escape, e observe que você já está utilizando um desses caracteres na sua f-string. Quando você coloca \n\sigma, o caractere de escape \n é uma ferramenta para saltar a linha, mas não é um caractere regular, concorda?

Existem algumas formas de contornar isso no Python.

  1. Ao ser necessário utilizar o caractere contrabarra, escrevemos uma dupla barra \\, pois dessa maneira nós anulamos a propriedade do caractere de escape e retornamos ao seu uso literal. E no seu exemplo, seria algo como:

f"\\mu = {mu:.2f}\n\\sigma (...)"

  1. Podemos também utilizar outro tipo de string, chamado raw string que se denota por r"seu_texto_aqui", esse tipo de string faz a inserção literal de todos os caracteres contidos dentro da string. Ex: print(r"\n\t\n") -> Saída: "\n\t\n". E aqui, note que a saída agora seria perder o recurso de indicação direta de variáveis na f-string e passar a utilizar uma concatenação de dados (ex: r"\mu = " + round(mu, 2) + "\n" + r"\sigma" + ...)

Existem outros tipos de caracteres de escape também, para tabulações \t, para adição de aspas simples ou dupla \" \', entre outros

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!