Tipos de Dados em Python
Tipos de Dados em Python
Por que eu devo ler este artigo: Neste artigo começaremos a falar sobre tipos
de dados na linguagem Python. Aqui
abordaremos booleanos, números e caracteres.
Guia do artigo:
Numérico
Complexos
Booleanos (bool)
numero = 10
No código acima temos a variável numero recebendo o valor 10. Dado que esse valor é
um inteiro, o tipo da variável será int.
O Python é uma linguagem fortemente tipada, entretanto permite que o tipo de uma
variável seja alterado ao longo do código. Um exemplo disso pode ser visto
na Listagem 2.
numero = "15"
numero = 15
numero_1 = 10
numero_2 = "15"
Isso acontece porque o Python não vai converter a String “15” para que a mesma possa
ser usada como um inteiro na operação de soma.
Já no exemplo abaixo, não teremos erro, pois o tipo Booleano é um subtipo do tipo
numérico inteiro.
numero = True + 1
Nota: Mais tarde veremos o tipo Booleano com mais detalhes nesse artigo
Para saber o tipo de uma variável usaremos a função type(), que retorna o tipo de
qualquer variável que ela receba como parâmetro. Vamos usar o código anterior para
ver na prática como isso funciona.
numero_1 = 10
numero_2 = "15"
print(type(numero_1))
print(type(numero_2))
O resultado do código da Listagem 5 será Int para a variável numero_1 e String para a
variável numero_2.
Tipo Numérico
Inteiros
Números de ponto flutuante
Complexos
Tipo Inteiro
Esse tipo representa os números inteiros positivos e negativos. Um exemplo desse tipo é
mostrado no código da Listagem 6.
Esses são números reais, que contém casas decimais. Por exemplo, a altura de uma
pessoa ou o seu peso devem ser representadas usando números de ponto flutuante.
Na Listagem 7 temos um exemplo no qual criamos uma variável desse tipo.
Outras linguagens possuem o tipo double para representar números de ponto flutuante.
Em Python usamos float e, caso seja necessária uma precisão de casas decimais,
podemos usar Decimal. A Listagem 8 mostra a maneira de usar esse tipo.
numero = Decimal('0.1')
Listagem 8. Exemplo de precisão de casas decimas tipo float
Na linha 1, importamos o módulo decimal, para que esse tipo esteja disponível no
código. E na linha 3, invocamos o construtor Decimal() para criar o objeto numero,
contendo o número desejado. Note que o construtor de Decimal recebe uma string como
parâmetro.
Complexos
numero = 1j * 1J
print(type(numero))
Booleanos (bool)
O tipo Booleano é um subtipo Int e por isso pode ser representado pelos valores True e
False. Quando uma variável é definida como True, seu valor é verdadeiro. E no caso de
receber o valor False, seu valor é falso.
var1 = True
var2 = False
print(type(var1))
print(type(var2))
Nota: Se uma variável for declarada como True ou False, entre aspas, ela não será do
tipo Booleano, e sim do tipo String.
No Python, quando comparado com True o número 1 retorna true e todos os demais
retornam false. Vejamos um exemplo em uma condicional na Listagem 11.
s = 1
if s == True:
print("true")
else:
print("false")
O código acima terá como resultado true, pois o valor 1 vai funcionar de forma
semelhante ao valor Booleano True.
Caso a variável s tivesse o valor diferente de 1 o resultado seria false, como mostra
a Listagem 12.
s = 2
if s == True:
print("true")
else:
print("false")
Apesar de ser possível utilizar números inteiros em expressões lógicas isso deve ser
feito com muito cuidado.
Bibliografia