Quais são os Tipos de Dados Primitivos?

Se você já entendeu como funcionam as variáveis em programação, sabe que uma das características que definem uma variável é o tipo de dado que ela armazena.

Um tipo de dado primitivo é a representação computacional de algum conceito usado no nosso cotidiano, como os números, as letras do alfabeto e os sinais de pontuação. Esses são os elementos mais básicos que você pode usar para construir um programa.

Para que serve um tipo de dado primitivo?

O tipo de dado primitivo serve para definir a quantidade de memória alocada e a faixa de valores possíveis para uma variável.

Em geral, cada linguagem de programação define seus próprios tipos de dados primitivos, mas os mais comuns são:

Número – Pode ser dividido em números inteiros (int) e reais, ou ponto-flutuante (float). Cada um desses tipos numéricos pode ter subdivisões que definem se o número tem ou não sinal negativo, além da faixa de valores possíveis.

Caractere – Qualquer letra do alfabeto ou símbolo usado na escrita (char). Apesar de representar só um caractere, a maioria das linguagens também tem um tipo de dado composto chamado Texto (string), que é um agrupamento de caracteres em um array.

Booleano – Só assume o valor Verdadeiro (true) ou Falso (false). Representa o estado de alguma coisa, como um bit, ligado (1) ou desligado (0). Assim, algumas linguagens, como C, consideram que 0 (zero) é falso e qualquer outro valor é verdadeiro e, por isso, podem nem ter esse tipo de dado embutido.

Ainda não tem certeza de como funciona uma variável?

Então primeiro confere esse post onde eu explico tudo o que você precisa saber sobre variáveis e depois volte aqui para entender os tipos de dados.

Os tipos de dados primitivos podem ser usados para compor outros tipos de dados, chamados de não primitivos ou compostos.

Alguns exemplos de tipos de dados compostos são números complexos, listas e conjuntos.

No entanto, aqui vou falar apenas dos tipos de dados primitivos e deixar os compostos para um outro post.

Como os tipos de dados variam de acordo com a linguagem de programação, nesse post vou abordar os tipos de dados primitivos da linguagem Python.

Quais são os tipos de dados primitivos em Python?

Os tipos de dados primitivos em Python são:

Inteiro (int) – Representa os números inteiros, de menos infinito a infinito.

Exemplos:

>>> -1
-1
>>> 0
0
>>> 300
300Code language: Python (python)

Real ou Ponto-flutuante (float) – Usado para representar números reais. Você pode separar a parte inteira da parte decimal usando um ponto “.” ou usar notação científica, adicionando a letra e ou E. Além disso, você pode omitir o zero antes do ponto.

Exemplos:

>>> -0.8e-2
-0.008
>>> .01
0.01
>>> 3.14159265359
3.14159265359
>>> 1.0
1.0 Code language: Python (python)

Texto (str) – O tipo texto funciona como um array de caracteres. Você pode declarar uma variável com tipo string colocando o valor entre aspas simples '' ou duplas "". Você pode também delimitar uma string entre grupos de três aspas simples ou duplas, se ela ocupar mais de uma linha.

Exemplos:

>>> "nome"
'nome'
>>> 'Texto válido'
'Texto válido'
>>> '1.0'
'1.0'
>>> 'True'
'True'
>>> '' #  string vazia
''
>>> ''' Texto em mais de uma
... linha.'''
' Texto em mais de uma \nlinha.'Code language: Python (python)

Booleano (bool) – Só pode assumir dois valores: True (verdadeiro) ou False (falso). Uma característica do Python é que a primeira letra desses valores é maiúscula, ao contrário da maioria das linguagens.

Percebeu que eu não descrevi a faixa de valores possíveis para os tipos de dados primitivos?

Isso é porque, em Python, tudo é um objeto.

Como você viu no meu post sobre variáveis, os objetos são criados no espaço de memória chamado heap.

Por isso, a quantidade de memória alocada internamente para cada objeto varia de acordo com o valor armazenado.

O efeito disso é que, em Python, a restrição ao tamanho de uma variável é dada somente pela memória disponível no computador.

Isso é o contrário do que acontece em linguagens que definem um tamanho fixo em bytes e têm uma faixa de valores para os tipos primitivos.

Em Java, por exemplo, uma variável do tipo int tem 4 bytes. A faixa de valores possíveis para esse inteiro sempre será o valor máximo que pode ser representado por esses 4 bytes.

Para testar a capacidade de criar um tipo de dado sem limitação lógica em Python, eu criei um int com mais de 63.000 algarismos 9.

Essa variável ocupou um pouco mais de 27MB de memória e demorou cerca de 5ms (milissegundos) para elevar esse número ao quadrado no meu notebook.

Já para os números de ponto-flutuante, na prática, o maior valor que pode ser representado em Python é inferior a 1.8 x 10308. Qualquer valor a partir desse número é representado pela string inf, ou seja, é considerado infinito.

!

Atenção: As operações de ponto-flutuante podem produzir resultados aproximados em alguns casos.

Isso não é um bug da linguagem Python, mas uma limitação da maneira como são feitos os cálculos com números de ponto-flutuante.

Por exemplo, a expressão 1.2 - 0.1 - 0.1 retorna 0.9999999999999999, em vez de 1.0.

Como Python é uma linguagem de tipagem dinâmica, os tipos de dados não são escritos pelo programador no momento da declaração das variáveis. Eles são determinados de forma automática em tempo de execução.

Para entender melhor o que isso significa, veja o exemplo a seguir, executado no interpretador Python:

>>> x = 13
>>> type(x)
<class 'int'>

>>> x = 3.14159265359
>>> type(x)
<class 'float'>

>>> x = 'texto'
>>> type(x)
<class 'str'>

>>> x = True
>>> type(x)
<class 'bool'>Code language: Python (python)

Nesse exemplo, o tipo da variável x é determinado de acordo com o valor atribuído a ela.

Em uma linguagem de tipagem estática, é necessário informar o tipo de dado na declaração da variável e qualquer tentativa de atribuir um tipo diferente a essa variável durante a execução do programa resulta em erro.

Conclusão

Nesse post você viu o que são tipos de dados primitivos e para que servem.

Viu também que os tipos de dados primitivos mais comuns das linguagens de programação são Número, Caractere e Booleano.

Além disso, você aprendeu que os tipos de dados primitivos em Python são, na verdade, objetos e não têm as mesmas limitações de tipos equivalentes em outras linguagens.

Os exemplos mostrados aqui foram baseados em valores fixos, para ilustrar os conceitos que eu apresentei. Na prática, você vai manipular os valores das variáveis e até converter valores entre tipos diferentes em seus programas.

Achou simples? Teve alguma dificuldade para entender os tipos de dados primitivos? Então descreva sua experiência nos comentários!

Guilherme Brügger D Amato - Audiência Pública na Comissão Senado do Futuro

Guilherme Brügger D’Amato é servidor concursado de TI na Câmara dos Deputados, onde ocupou o cargo de Diretor de Informática entre 2015 e 2016. Com mais de 26 anos de experiência como programador e executivo de TI, já desenvolveu sites e sistemas usados por dezenas de milhões de pessoas. Conecte-se com ele no LinkedIn ou no Instagram.

Deixe um comentário