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.

Python é uma linguagem de tipagem dinâmica, em que o tipo da variável é definido de acordo com o valor que ela está recebendo.


Guia do artigo:

Na Listagem 1 vemos um exemplo de declaração de uma variável.


numero = 10
Listagem 1. Exemplo de declaração de variável

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
Listagem 2. Exemplo de alteração de variável

Apesar dessa característica, o Python não converte automaticamente tipos de dados incompatíveis em operações. Por exemplo, em uma soma entre um número inteiro e uma string, o resultado será um erro, conforme demonstrado na Listagem 3.


numero_1 = 10
numero_2 = "15"

numero_3 = numero_1 + numero_2

print(numero_3)
Listagem 3. Exemplo de declaração de variável

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
Listagem 4. Operação de Booleano com inteiro
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))
Listagem 5. Exemplo de verificação do tipo das variáveis

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

Os tipos de dados usados para números se dividem em três conjuntos:

  • Inteiros
  • Números de ponto flutuante
  • Complexos

Vejamos cada um deles.

Tipo Inteiro

Esse tipo representa os números inteiros positivos e negativos. Um exemplo desse tipo é mostrado no código da Listagem 6.


numero = 5 # Criação da variável numero

print(type(numero)) # Exibindo o tipo da variável
# que será int
Listagem 6. Exemplo de variável do tipo inteiro

O intervalo de valor desse tipo é ilimitado e está sujeito apenas à capacidade da memória.

Nota: Os números inteiros podem representados nos formatos hexadecimal, octal e binário. Abaixo um exemplo dessas representações:
  • 0o1, 0o20, 0o377 # Representação Octal
  • 0x01, 0x10, 0xFF # Representação Hexadecimal
  • 0b10000, 0b11111111 # Representação binária

Ponto Flutuante (float)

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.


altura = 1.79 # Declaração da variável altura

print(type(altura)) # Impressão do tipo da variável "altura"
Listagem 7. Exemplo de variável do tipo float

O código acima vai retornar o tipo float.

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.


from decimal import Decimal

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

Os números complexos são mais utilizados na engenharia e pesquisa. A parte imaginária do número recebe a letra j ou J. Na Listagem 9 temos um exemplo de um número complexo.


numero = 1j * 1J

print(type(numero))
Listagem 9. Exemplo de variável do tipo complexos

A criação da variável fica na linha 1, enquanto a linha 3 tem a impressão do tipo da variável. O resultado será o tipo complex.

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.

O exemplo da Listagem 10 mostra a declaração de uma variável do tipo Booleano.


var1 = True
var2 = False

print(type(var1))
print(type(var2))
Listagem 10. Exemplo de variável do tipo booleano

As linhas 1 e 2 criam variáveis do tipo Booleano, e nas linhas 4 e 5, o tipo delas é impresso.

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")
Listagem 11. Exemplo de condicional com do tipo booleano

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")
Listagem 12. Exemplo de variável do tipo inteiro

Apesar de ser possível utilizar números inteiros em expressões lógicas isso deve ser feito com muito cuidado.

Nesse artigo introduzimos os tipos de dados em Python, iniciando pelos numéricos. Vimos também que esse tipo é dividido em subtipos que podem ser usados para situações diferentes. Nos exemplos dados foi mostrado a forma de declará-los, o que nos permitirá fazer instruções com eles, como operações matemáticas.

Confira também