3. Variáveis e tipos de dados

Você pode criar vários tipos de objetos em Python, como, por exemplo, variáveis, matrizes, bancos de dados, gráficos, e outros. Vamos começar com o objeto mais simples: variável.

3.1. Variáveis

Uma variável permite que você armazene qualquer valor como um número, texto ou até mesmo objetos maiores.https://python.land/python-tutorial

Ao criar uma variável, podemos depois utilizá-la a partir de seu nome, fazendo cálculos ou modificações. Por exemplo, em 2019, a população brasileira (estimada pelo Instituto Brasilieiro de Geografia e Estatística - IBGE) foi de 210.147.125 habitantes. Vamos criar a variável pop e atribuir esse número a ela:

[1]:
pop = 210147125

Repare que ao executar esse comando não há nenhuma saída. Isso porque, o dado foi apenas armazenado. Podemos retomar esse valor simplesmente digitando:

[2]:
pop
[2]:
210147125

Ou:

[3]:
print(pop)
210147125

As duas saídas são equivalentes, porém no segundo caso estamos usando uma função.

Uma função é um conjunto de códigos que executa alguma operação ou tarefa específica. Esse conjunto de códigos já vem instalado (como é o caso da função print()), pode vir com algum pacote ou pode ser criado. Vamos falar mais sobre funções nas seções seguintes.

Por enquanto, vamos continuar criando variáveis.

Outra variável interessante, também para 2019 é o PIB brasileriro (também calculado pelo IBGE). No mesmo ano, em 2019, o PIB brasileiro foi de 7,3 trilhões de reais, ou 7.389.131 milhões. Vamos salvar esse valor como PIB_Brasil:

[4]:
PIB_Brasil = 7389131

Agora, podemos utilizar essas duas informações em conjunto para obter o PIB per capita brasileiro. Como o PIB está em milhões, vamos multiplicá-lo por 1.000.000 para obter o valor do PIB per capita em reais:

[5]:
PIB_pc = PIB_Brasil*1000000/pop
PIB_pc
[5]:
35161.703972871386

Você vai concluir que o PIB per capita em 2019 foi de 35.617 reais.

Observação:

Repare alguns pontos interessantes:

  1. Os mesmos operadores matemáticos que você aprendeu antes foram utilizados para o cálculo do PIB per capita;

  2. Incluímos um número no cálculo, e ele foi compreendido normalmente dentro na operação;

Assim como observado para texto nos operadores lógicos, as variáveis são sensíveis a letras maiúsculas e minúsculas. Se você digitar PIB_brasil ao invés de PIB_Brasil receberá uma mensagem de erro:

[6]:
PIB_pc = PIB_brasil*1000000/pop
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Input In [6], in <cell line: 1>()
----> 1 PIB_pc = PIB_brasil*1000000/pop

NameError: name 'PIB_brasil' is not defined

Observação:

Vale ressaltar, que os nomes das variáveis podem conter letras, números, underline, porém há algumas restrições. Os nomes de variáveis não podem:

1.Começar com números;

2.Usar “palavras reservadas”, ou seja, nome de funções, classe de objetos;

Alguns exemplos de palavras reservadas: False, class, finally, is, return, None, continue , for, lambda, try, True, def, from, nonlocal, While, and, del, global, not, with, as, elif, if, or, yield, assert, else, import, pass, break, except, in, raise.

3.Possuir espaço em branco: “uma variavel”, por exemplo.

Para testar, tente criar algumas variáveis deste tipo, como: 1x = 10 class = 10 uma variavel = 50

Mais informações sobre convenções de nomeclatura podem ser consultadas em: https://peps.python.org/pep-0008/#naming-conventions

Operadores lógicos também podem ser utilizados em variáveis. Por exemplo, você pode querer saber se o PIB per capita no Brasil é maior do que 40 mil reais (você já sabe, mas faz de conta que não!):

[7]:
PIB_pc > 40000
[7]:
False

A saída é um nome lógico, dizendo que seu teste PIB_pc > 40000 é falso.

3.2. Tipos de variáveis

Por enquanto, todas as variáveis criadas são números. No caso das variáveis pop e PIB_Brasil esses números são inteiros, enquanto o valor resultado da variável PIB_pc contém casas decimais (não é um número inteiro). Isso implica no tipo de variável criada. Para verificar essa diferença, podemos usar a função type():

[8]:
print(type(pop))
print(type(PIB_Brasil))
print(type(PIB_pc))
<class 'int'>
<class 'int'>
<class 'float'>

Observe que as duas primeiras variáveis retornaram <class ‘int’>, informando que são inteiros, enquanto a terceira tem classe do tipo ‘float’, utilizada para números com casas decimais.

Observe também que foi utilizada novamente a função print(), juntamente com a função type() para que seja possível visualizar as três saídas (para cada uma das variáveis). Se você não utilizar a função print (apenas type) a saída será referente apenas à última linha de código.

Outros tipos de variáveis são:

  • String: para texto;

  • Booleano (Booleans): para nomes lógicos;

  • Complex: para números complexos (vamos deixar esses de lado por enquanto!).

Podemos então criar uma variável com o nome país com o texto Brasil. Vamos deixar o nome da variável sem acento para evitar problemas!

Essa variável é um string, ou str como irá mostrar de forma abreviada a saída dessas linhas de código:

[9]:
pais = "Brasil"
type(pais)
[9]:
str

Observe que no caso de uma variável do tipo string precisamos declarar o trecho de texto sempre entre aspas.

Vamos também criar outras duas variáveis para indicarmos que falamos português e não espanhol, cujo tipo é Booleano (lógico):

[10]:
portugues = True
espanhol = False
print(type(portugues))
print(type(espanhol))
<class 'bool'>
<class 'bool'>

Vamos também deixar claro que nossa língua não é o espanhol, e que estamos na América Latina.

[11]:
local = " está localizado na América Latina"

Não criamos essas variáveis por acaso!

Algo interessante com os diferentes tipos de variáveis é seu comportamento diante de operações lógicas e matemáticas. Por exemplo, o que acontece se somarmos as variáveis “pais” e “portugues”?

[12]:
pais + portugues
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Input In [12], in <cell line: 1>()
----> 1 pais + portugues

TypeError: can only concatenate str (not "bool") to str

O erro mostra que não podemos somar “strings” (letras), que não são booleanos, com “strings”. Podemos nos perguntar, por que a menção de bool? Vamos tentar outra soma.

[13]:
1 + portugues
[13]:
2

Agora não há mensagem de erro! Nesse caso, o valor lógico True é entendido como 1(um). Note que o valor lógico False, será sempre entendido como zero. Vejamos um exemplo:

[14]:
1 + espanhol
[14]:
1

Podemos também somar duas variáveis string:

[15]:
pais + local
[15]:
'Brasil está localizado na América Latina'

Podemos usar a função print para melhorar a frase:

[16]:
print("O", pais + local)
O Brasil está localizado na América Latina

A última combinação parece bastante simples, mas é muito útil, por exemplo, quando você precisa gerar um relatório com alguma frase escrita automaticamente a partir dos seus dados.

Finalmente, para visualizar todas as variáveis criadas, podemos utilizar o comando %whos:

[17]:
%whos
Variable     Type     Data/Info
-------------------------------
PIB_Brasil   int      7389131
PIB_pc       float    35161.703972871386
espanhol     bool     False
local        str       está localizado na América Latina
pais         str      Brasil
pop          int      210147125
portugues    bool     True