Premium Only Content

11 - Conversão dos Tipos de Dados no Python
Conversão dos tipos de dados existentes em Python.
Videoaula 11: Aula 04 do Capítulo 03.
Conteúdo da Aula:
00:00 Conversão entre os tipos de dados
01:40 Entender as particularidades das conversões de tipos
14:41 Formatação dos tipos
A conversão dos tipos de dados é um conceito que nos permite transformar um tipo de dado em outro, por meio de uma função de conversão.
É importante ressaltar que a conversão de uma string para os tipos de dados numéricos (int ou float), pode resultar em um erro de execução. Por exemplo, a conversão de '0.98' para int resultará em um erro, pois 0.98 não é um número inteiro válido. Da mesma forma, não é possível converter a string 'consolação' para um tipo numérico, pois, por motivos óbvios, consolação não é um número válido.
Outro caso especial que precisamos entender são as operações de conversão
com o tipo NoneType. Primeiramente, não existe funções de conversão dos outros tipos
para None. Para tanto, basta simplesmente atribuirmos às variáveis o valor None.
#Formatação de #Strings
Uma outra forma de criarmos uma string a partir de diferentes tipos de dados é a utilização do conceito de formatação de strings. O Python possibilita três formas de formatarmos uma string:
- A utilização do operador %
- O método str.format()
- O conceito de f-strings, que foi introduzido a partir da versão 3.6 do Python
- Por ser a maneira mais recomendada atualmente, enquanto as outras vão caindo em desuso pelos desenvolvedores, iremos focar apenas no conceito de f-strings
Apesar de não focarmos na utilização do operador % e no método str.format(), é fortemente recomendado o estudo sobre estas técnicas em paralelo, pois, uma vez que o f-strings é recente, muitos códigos encontrados em repositórios, outros cursos e artigos ainda podem utilizar estes conceitos.
As f-strings, abreviação de formatted string literals (strings literais formatadas, em português), são identificadas pela letra "f" antes da declaração, no início, da string e um par de chaves são utilizados para interpolar os valores e expressões desejadas.
Lembram do exemplo nosso que gerou um erro quando tentamos concatenar
string com um valor do tipo int? Utilizando f-strings, poderíamos contornar o problema
da seguinte forma:
```python
nascimento = 1986
ano_atual = 2022
idade = ano_atual - nascimento
print(f'Eu tenho {idade} anos')
```
| Eu tenho 36 anos
Neste caso, o valor da variável idade foi utilizado no lugar da declaração {idade}.
E não precisamos nos limitar apenas à utilização de variáveis, podemos utilizar também expressões que irão resultar em valores a serem interpolados na string. Poderíamos simplificar o código acima, suprimindo o uso da variável idade, da seguinte maneira:
```python
nascimento = 1986
ano_atual = 2022
print(f'Eu tenho {ano_atual - nascimento} anos')
```
| Eu tenho 36 anos
Também podemos utilizar métodos e funções dentro de f-strings, como por exemplo:
```python
palavra = 'consolação'
print(f'A palavra {palavra.upper()} possuí {len(palavra)} letras')
```
| A palavra CONSOLAÇÃO possuí 10 letras
Por fim, é possível realizar alguns tipos de formatações nos valores antes da interpolação na string resultante. Por exemplo, considere que queremos exibir a porcentagem gasta de um determinado orçamento:
```python
orcamento = 5000
vlr_gasto = 430
pct = (vlr_gasto/orcamento) * 100
print(f'Porcentagem já gasta do orçamento: {pct}%')
```
| Porcentagem já gasta do orçamento: 6.142857142857143%
Geralmente, quando tratamos de valores percentuais, não estamos interessados em mais do que duas casas decimais. Portanto, para atender esta convenção, podemos simplesmente utilizar a seguinte notação {pct:.2f}, onde foi declarado que o valor da variável pct é do tipo float (por isso o f no final) e que deverá ser utilizado apenas duas casas após o separador de decimais (.2).
```python
orcamento = 5000
vlr_gasto = 430
pct = (vlr_gasto/orcamento) * 100
print(f'Porcentagem já gasta do orçamento: {pct:.2f}%')
```
| Porcentagem já gasta do orçamento: 6.14%
Por fim, um outro exemplo de formatação. Observe que multiplicamos o valor da divisão (vlr_gasto/orcamento) por 100, porque gostaríamos de um resultado em termos de porcentagem. Entretanto, com f-strings isso não é necessário, pois ela permite uma notação que permite declarar que o valor é uma porcentagem, e inclusive já adiciona o símbolo % no valor formatado:
```python
orcamento = 5000
vlr_gasto = 430
pct = (vlr_gasto/orcamento)
print(f'Porcentagem já gasta do orçamento: {pct:.2%}')
```
| Porcentagem já gasta do orçamento: 6.14%
O conceito de f-strings simplifica, e muito, a vida do desenvolvedor em Python e existem vários outros tipos de formatação e operações que podem ser realizadas. Uma relação completa pode ser encontrada na documentação oficial do Python (PSF, 2022), ou o artigo de (BRITO, 2020), em inglês, que contempla vários exemplos.
Conclusão:
✔ Realizamos conversões entre os tipos de dados
✔ Formatação dos valores em uma string única
-
LIVE
AlphaZeroOmega
3 hours agoHalo Rumble Spartans #13 ONE YEAR of CONQUEST celebration | 🚨RumbleTakeover🚨
33 watching -
7:55
Talk Nerdy Sports - The Ultimate Sports Betting Podcast
6 hours ago4/27/25 - Sunday Service: Vasil’s 10 Holy Locks & PrizePicks Resurrection 💥🧠
49K2 -
18:15
World2Briggs
14 hours ago $17.06 earned10 Cities That Are Slowly Emptying Like a Sad Party
69.3K51 -
11:34
Mrgunsngear
1 day ago $9.51 earnedSiege Suppressors ROC556 Low Backpressure Silencer Review 🤫
62K7 -
30:57
Clownfish TV
11 hours agoDisney Drops DEI and Goes PRO-AMERICA?!
65.2K52 -
17:35
QNewsPatriot
1 day ago(4/25/2025) | AUDIO CHAT 166 | SG Sits Down w/ Sovereign Radio Founder Scotty Saks: Vaxx Lawsuits and the #NeverAgain Telethon
62.4K20 -
19:51
CatfishedOnline
8 hours agoSpouse Sends $50,000 To A Man Who Doesn't Exist 😱
43.9K5 -
11:59
ariellescarcella
1 day agoThe Dark Side Of "Queer Joy"
32.5K25 -
1:12:39
Squaring The Circle, A Randall Carlson Podcast
1 day ago#045 What Are The Structures Beneath The Great Pyramids in Giza? Squaring the Circle: A Randall Carlson Podcast
42K8 -
2:08:05
Badlands Media
1 day agoDevolution Power Hour Ep. 349: Trump’s Geopolitical Gambits, Sports Psyops, and the Regime’s Unraveling
153K113