Aula 4 Tipos de Variáveis
Em programação, variáveis são espaços na memória utilizados para armazenar dados que serão manipulados por um programa.
No Python, não é necessário declarar explicitamente o tipo da variável. O tipo é determinado automaticamente pelo valor atribuído.
Neste exemplo, podemos verificar:
| Variável | Valor | Tipo |
|---|---|---|
| nome | “Maria” | string |
| idade | 25 | inteiro (int) |
| altura | 1.70 | ponto flutuante (float) |
Podemos verificar o tipo usando:
4.1 Python - Linguagem fortemente tipada x linguagem fracamente tipada
4.1.1 Linguagens Fortemente Tipadas
Python é uma linguagem FORTEMENTE TIPADA:
Uma linguagem é fortemente tipada quando:
Ela não permite misturar tipos diferentes sem conversão explícita
Obriga o programador a ser claro sobre os tipos
4.1.2 Características
Não faz conversões automáticas “perigosas”
Erros aparecem mais cedo (mais segurança)
Código mais previsível
Exemplo em python:
Tentativa de misturar 2 variáveis de duas naturezas diferentes (inteiro e texto):
TypeError: unsupported operand type(s)
4.1.3 Linguagens Fracamente Tipadas
Javascript é uma linguagem FRACAMENTE TIPADA:
Uma linguagem é fracamente tipada quando:
- Ela permite misturar tipos automaticamente
- Faz conversões implícitas (automáticas)
4.1.4 Características
- Mais flexível
- Pode gerar comportamentos inesperados
- Conversões automáticas podem confundir
Exemplo em javascript:
resultado
O número 10 foi convertido automaticamente para texto (string).
Outro exemplo em javascript:
A o texto “5” foi convertida para número automaticamente para que pudesse ser feita a operação de subtração
Conclusão:
| Característica | Fortemente Tipada | Fracamente Tipada |
|---|---|---|
| Conversão automática | Não (ou muito limitada) | Sim |
| Segurança | Alta | Menor |
| Previsibilidade | Alta | Pode ser confusa |
| Facilidade inicial | Média | Alta |
| Exemplo | C, C++, Python, Java, C# | JavaScript, PHP (em muitos casos) |
4.2 Python - Operadores Aritméticos
Os operadores aritméticos são utilizados para realizar operações matemáticas.
| Operador | Significado | Exemplo |
|---|---|---|
| + | soma | 5 + 3 |
| - | subtração | 5 - 3 |
| * | multiplicação | 5 * 3 |
| / | divisão | 10 / 2 |
| // | divisão inteira | 10 // 3 |
| % | resto da divisão | 10 % 3 |
| ** | potência | 2 ** 3 |
Exemplos em python:
# Exemplo 5 - Liguagem Python - Operadores Aritméticos
a = 10
b = 3
print("Soma:", a + b)
print("Subtração:", a - b)
print("Multiplicação:", a * b)
print("Divisão:", a / b)
print("Divisão inteira:", a // b)
print("Resto:", a % b)
print("Potência:", a ** b)Resultado:
Soma: 13
Subtração: 7
Multiplicação: 30
Divisão: 3.3333
Divisão inteira: 3
Resto: 1
Potência: 1000
4.3 Python - Operadores Relacionais (Comparação)
Os operadores relacionais são utilizados para comparar valores. O resultado sempre será True (verdadeiro) ou False (falso).
| Operador | Significado |
|---|---|
| == | igual |
| != | diferente |
| > | maior que |
| < | menor que |
| >= | maior ou igual |
| <= | menor ou igual |
Exemplo:
# Exemplo 6 - Liguagem Python - Operadores Relacionais
x = 10
y = 5
print(x == y)
print(x != y)
print(x > y)
print(x < y)
print(x >= y)
print(x <= y)Saída:
False
True
True
False
True
False
4.4 Python - Operadores Lógicos
Os operadores lógicos são usados para combinar expressões booleanas.
| Operador | Significado |
|---|---|
| and | E lógico |
| or | OU lógico |
| not | negação |
Exemplo:
# Exemplo 7 - Liguagem Python - Operadores lógicos
idade = 20
tem_carteira = True
print(idade >= 18 and tem_carteira)
print(idade >= 18 or tem_carteira)
print(not tem_carteira)Saída:
True
True
False
4.5 Python - Operadores de Atribuição
Os operadores de atribuição são usados para atribuir valores às variáveis.
| Operador | Exemplo | Equivalente |
|---|---|---|
| = | x = 5 | atribuição |
| += | x += 2 | x = x + 2 |
| -= | x -= 2 | x = x - 2 |
| *= | x *= 2 | x = x * 2 |
| /= | x /= 2 | x = x / 2 |
| %= | x %= 2 | x = x % 2 |
4.6 Python - Operadores de Identidade
Os operadores de identidade verificam se duas variáveis apontam para o mesmo objeto na memória.
| Operador | Significado |
|---|---|
| is | são o mesmo objeto |
| is not | não são o mesmo objeto |
# Exemplo 9 - Liguagem Python - Operadores de Identidade
a = [1,2,3]
b = a
c = [1,2,3]
print(a is b)
print(a is c)Saída:
False
True
Isso acontece porque b referencia o mesmo objeto que a, enquanto c é um novo objeto na memória.
4.7 Python - Operadores de Associação
Verificam se um valor pertence a uma sequência.
| Operador | Significado |
|---|---|
| in | está presente |
| not in | não está presente |
# Exemplo 10 - Liguagem Python - Operadores de Associação
lista = [10,20,30,40]
print(20 in lista)
print(5 in lista)
print(5 not in lista)Saída:
True
False
True
4.8 Python - “Converter” tipo de Variável (Type Casting)
Type Casting é a conversão de um tipo de dado para outro.
Em Python usamos funções como:
| Função | Conversão |
|---|---|
| int() | para inteiro |
| float() | para decimal |
| str() | para texto |
4.8.4 Exemplo integrando tudo:
# Exemplo 14 - Liguagem Python - Type Casting (converter um tipo de variável no outro)
numero1 = input("Digite um número: ")
numero2 = input("Digite outro número: ")
numero1 = int(numero1)
numero2 = int(numero2)
soma = numero1 + numero2
print("A soma é:", soma)Aqui utilizamos:
input() → leitura de dados
int() → conversão de tipo
+ → operador aritmético
4.9 Exercícios de Tipos de Variáveis
4.9.1 Exemplos:
Operadores Aritméticos + Type Casting
4.9.1.1 Exemplo 1) Leia dois números digitados pelo usuário (como texto), converta-os para inteiro e mostre:
Soma
Multiplicação
Divisão
# Lista de Exercícios - Exemplo 1
numero1 = input("Digite o primeiro número: ")
numero2 = input("Digite o segundo número: ")
numero1 = int(numero1)
numero2 = int(numero2)
soma = numero1 + numero2
multiplicacao = numero1 * numero2
divisao = numero1 / numero2
print("Soma:", soma)
print("Multiplicação:", multiplicacao)
print("Divisão:", divisao)Saída
Digite o primeiro número: 10
Digite o segundo número: 5
Soma: 15
Multiplicação: 50
Divisão: 2.0
Operadores Relacionais + Lógicos
4.9.1.2 Exemplo 2) Crie um programa que leia a idade de uma pessoa e informe se ela:
- Pode dirigir (idade ≥ 18 E possui carteira)
# Lista de Exercícios - Exemplo 2
idade = int(input("Digite sua idade: "))
tem_carteira = input("Possui carteira? (s/n): ")
tem_carteira = tem_carteira == "s"
pode_dirigir = idade >= 18 and tem_carteira
print("Pode dirigir?", pode_dirigir)Saída
Digite sua idade: 20
Possui carteira? (s/n): s
Pode dirigir? True
Operadores de Associação + Identidade
4.9.1.3 Exemplo 3) Dada uma lista de números, verifique:
Se o número 10 está na lista
Se duas listas são o mesmo objeto
# Lista de Exercícios - Exemplo 3
lista1 = [5, 10, 15, 20]
lista2 = lista1
lista3 = [5, 10, 15, 20]
print("10 está na lista?", 10 in lista1)
print("lista1 é lista2?", lista1 is lista2)
print("lista1 é lista3?", lista1 is lista3)Saida
10 está na lista? True
lista1 é lista2? True
lista1 é lista3? False
4.9.2 Exercícios Propostos
4.9.2.2 Exercício 2 — Comparação de Números
Leia dois números e informe:
- Se são iguais
- Qual é o maior
4.9.2.3 Exercício 3 — Verificação de Intervalo
Leia um número e verifique se ele está entre 10 e 50.
4.9.2.4 Exercício 4 — Operadores Lógicos
Leia a idade e informe se a pessoa:
- É maior de idade (≥18)
- É idosa (≥60)
4.9.2.5 Exercício 5 — Type Casting
Leia um número decimal (string), converta para:
- float
- int
Mostre ambos os resultados.