Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Duvida sobre formatação de strings com %

Olá! Não entendi a explicação do porque precisamos converter o boolean pra string. Segundo o texto: "Uma observação: os operadores de formatação de strings com % não funcionam diretamente com valores booleanos. Uma maneira de lidar com isso é convertendo o valor booleano para uma string antes de usá-lo na formatação com a função str(). "

Mas por que o código retorna True, mesmo sem a conversão? Achei que daria erro, mas não deu. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Grata.

2 respostas

Olá, Mariana! Como vai?

Embora exista a recomendação da conversão explícita, o operador %s consegue lidar com valores booleanos porque ele chama internamente a função str() para converter o valor para uma string. Dessa forma, o código funciona e imprime True sem erro.

A nível de curiosidade, a gente pode testar o operador %d nesse caso também:

x = True
print('Valor de x: %d' %(x))

Resultado:

Valor de x: 1

Repare que haverá a conversão de True para 1, ou seja, o operador %d realiza a conversão para um decimal.

No entanto, é uma boa prática converter explicitamente usando str() quando você quer deixar claro que está tratando o valor como uma string.

Isso pode ajudar na legibilidade e manutenção do código!

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado
solução!

Boa tarde, Mariana! Tudo bem?

Venho dizer que o trecho do texto que trata sobre esse assunto foi analisado e ajustado. Você pode conferir aqui:

Agradeço a sua colaboração no fórum.

Abraço e bons estudos!