Curso de Python

Aula 4 - Variáveis e Tipos de dados

Uma introdução as variáveis

Agora vamos avançar um pouco e aprender sobre variáveis. As variáveis são usadas para armazenar dados na memória do computador. São muito úteis para utilizar em um caso posterior. Vamos ver alguns exemplos:

variaveis.py
nome = 'Maria' # A variável nome é uma string
idade = 17 # A variável idade é um número do tipo inteiro
Saída:
Nenhuma

As variáveis são divididas em duas partes, uma antes do sinal de atribuição e outro depois do sinal de atribuição. A parte que está antes do sinal é chamada de nome da variavel. Já o que está depois do sinal de atribuição chamado de valor da variável.

Mas espera... O que são strings?? O que é tipo inteiro?

Para entender melhor isso, antes de entender as variáveis, precisamos entender o que são tipos de dados, pois sem isso você dificilmente compreenderá o que são as próprias variáveis. Vamos avançar em direção aos TIPOS DE DADOS para entender como criar variáveis claramente

Tipos de dados

Os tipos de dados representam qual o tipo de valor de uma variável. A sintaxe básica de uma variável é a seguinte:

sintaxe.py
variavel = valor
Saída:
Nenhuma

Onde variavel é o nome da variável e o valor é o valor, que é subdividido em tipos de dados

Vamos conhecer os tipos de dados para compreender melhor.

Conhecendo os tipos de dados

strings.py
nome = 'Lucas'
estado = "São Paulo"
continente = 'América'
print(nome)
print(estado)
print(continente)
Saída:
Lucas
São Paulo
América
ints.py
idade = 14
pontos = 560
alunos = 35
print(idade)
print(pontos)
print(alunos)
Saída:
14
560
35
floats.py
nota = 8.90
altura = 1.75
peso = 90.65
print(nota)
print(altura)
print(peso)
Saída:
8.90
1.75
90.65
booleans.py
lampada = True # A lâmpada está acessa
disjuntor = False # O disjuntor está desligado
porta = True # A porta está aberta
print(lampada)
print(disjuntor)
print(porta)
Saída:
True
False
True

"Mas e se eu esquecer dos Tipos de Dados?" Ainda sim é possível verificar qual o tipo de dado usando o comando type(), ele retorna de qual tipo de dado você forneceu a ele. O uso do type pode ser utilizado a partir de uma variável ou direto usando o comando print(), vamos ver alguns exemplos

Vamos supor que eu tenha a variável altura e que seu valor seja de 1.75. Quero descobrir qual o seu tipo, então basta usar a função type():

type.py
altura = 1.75
# Usando uma variável e atribuindo o seu valor com o tipo da altura:
tipo = type(altura)
# Agora basta imprimir na tela o valor da variável tipo, que armazena o tipo da variável altura
print(tipo)

# Também é possível imprimir direto com a função print sem criar uma variável:
altura = 1.75
print(type(altura))
Saída:
<class 'float'>
<class 'float'>

Não se preocupe em entender porque a saída do código foi class, mas veja que depois do class tem o 'float', e é isso que importa. Isso quer dizer que altura tem o tipo de dado float.
Ao criar variáveis, temos que tomar alguns cuidados. Sim! O nome de variáveis não pode ser qualquer um! Devemos respeitar algumas regras para a criação de variáveis, e é sobre isso que iremos ver

Restrições de Criação de Variáveis

Os nomes de variáveis precisam seguir algumas regras, caso contrário, pode ser um dos motivos de erros no seu programa, então isso é algo bem sério. Vamos ver quais são as regras!

Agora que você já sabe os tipos de dados, podemos prosseguir para mais alguns exemplos de variáveis:

exemplo.py
nome = 'Maria' # Esse é o tipo de dado string, pois há aspas, lembra?
idade = 14 # Isso é um int (inteiro)
produtos = 560 # Denovo um inteiro!
planeta = "Marte" # Uma variável com o nome de planeta com o valor de Marte
online = True # Um booleano com o valor de True
Saída:
Nenhuma

Case Sensitive

Cuidado! O python é case sensitive. Isso significa que letras maiúsculas e minúsculas fazem diferença! Exemplos:
a. A variável nome é diferente da variável Nome
b. A variável Cidade é diferente da variável CIDADE


Atribuindo múltiplos valores às variáveis

Como você já sabe, é possível atribuir valores às variáveis individualmente, uma por uma. Mas também existe uma forma de atribuir valores à variáveis em uma só linha. Vamos ver como isso funciona:

atribuicao-comum.py
# atribuição normal: 
nome = "Lucas"
estado = "MG"
print(nome)
print(estado)
Saída:
Lucas
MG

Essa atribuição consome muitas linhas do seu código (por mais que seja mais recomendável), mas você pode utilizar da forma que você quiser. Veremos a seguir a atribuição múltipla:

atribuicao-multipla.py
# múltiplas atribuições
nome, estado = "Lucas, "MG"
print(nome)
print(estado)
Saída:
Lucas
MG

Constantes

Constantes são variáveis que possuem um valor fixo, ou seja, seu valor não será alterado uma vez que foi definido. Para criar um constante, todas as letras da varíavel devem estar em maiúscula. Isso diz ao interpretador python que as letras maiúsculas são constantes, veja alguns exemplos:

constantes.py
PI = 3.14
GRAVIDADE = 9.81
print(PI)
print(GRAVIDADE)
Saída:
3.14
9.81

Apesar de serem muito boas, as constantes são utilizadas poucas ou nenhuma vez num programa. Isso porque letras minúsculas são uma particularidade do python, mantendo sua sintaxe simples e elegante. A comunidade python utiliza constantes quando se trata de algo mais matemático, científico ou físico.

Atribuindo valores e mais valores

O python permite que você atribua um novo valor a sua variável, quantas vezes forem precisas. Em outras linguagens de programação isso não é aceito, então o python é uma exclusividade. Você pode atribuir um novo valor a sua variável quando e em qualquer lugar do seu programa. Vamos ver como funcionam as reatribuições:

Vamos supor que eu crie uma variável, e atribua o seu valor para uma string, contendo 'valor1'. E após isso eu imprima na tela o valor da variável. Mas em seguida, por algum motivo, queremos alterar o seu valor. Na terceira linha atribuimos um novo valor para a variavel e agora seu novo valor é 'valor2', então imprimimos novamente:

atribuicoes.py
variavel = 'valor1'
print(variavel) # valor1
variavel = 'valor2'
print(variavel) # valor2
Saída:
valor1
valor2

O que fizemos aqui foi reatribuir o valor da variável. Poderiamos fazer isso quantas vezes quisermos. Parece uma coisa boba, porque é bem simples de entender, porém isso é essencial que você saiba. Vamos ver outro exemplo:

atribuicoes.py
animal = 'Cachorro'
animal = 'Crocodilo'
animal = 'Gato'
print(animal)
Saída:
Clique para revelar

Que valor você acha que a variável animal tem? Vamos analisar: Criamos a variável animal e atribuímos o seu valor para Cachorro, Crocodilo e depois Gato, então, qual você acha que será o valor da variável animal? O valor da variável animal é Gato, pois o valor da variável sempre será aquele que foi declarado por último.

Ok, e que tal se criarmos uma variável, imprimir o seu valor e reatribuir o valor a variável novamente? Veja:

atribuicoes.py
cor = 'Azul'
print(cor)
cor = 'Amarelo'
Saída:
Clique para revelar

Que cor você acha que será impresso? Primeiro criamos a variável e imprimimos na tela, em seguida reatribuímos seu valor, porém o que foi impresso é 'Azul', por que a imprimimos a variável antes de fazer a nova atribuição a ela, então o programa imprimiu o 'Azul'.

Mas e agora, se você primeiro imprimir a variável e depois declarar ela? Veja o código a seguir:

atribuicoes.py
print(carro)
carro = 'Ferrari'
Saída:
Erro!!

Isso causará um erro! É a mesma coisa de você tentar comer um bolo primeiro sem nem antes ter o próprio bolo! Primeiro imprimimos a variável carro, e só depois criamos a variável, então o programa analisa isso e diz "Como vou imprimir algo que não existe ainda?" Então o código correto seria assim:

atribuicoes.py
carro = 'Ferrari'
print(carro)
Saída:
Ferrari