Python - Tipagem de dados [parte I]
“O sistema de tipos visa fornecer uma sintaxe padrão para anotações de tipos, abrindo o código Python para análises estáticas e refatorações mais fáceis, possível verificação de tipos em tempo de execução e (talvez, em alguns contextos) geração de código utilizando informações de tipos. O sistema de tipos foi originalmente especificado em uma série de PEPs, começando com a PEP 484.” - Python.org1
Tipagem
As diferentes linguagens de programação têm tipagem forte ou fraca, tipagem estática ou dinâmica e tipagem explícita ou implícita.
Tipagem em Python
Python tem tipagem forte, dinâmica e implícita.
- Forte: variáveis de deferentes tipos não pode ser combinadas e geram erro (
TypeError
) caso tentar.
Exemplo:"string" + número
>>> "João" + 1 .. TypeError: can only concatenate str (not "int") to str
- Dinâmica: o tipo da variáveis é definido em tempo de execução e conforme valor atribuído.
Exemplo:nome = "José" # string numero = 1 # inteiro valor = 5.8 # decimais
- Implícita: É desnecessário declarar o tipo da variável, pois o python identifica automaticamente.
Exemplo:A cada atribuição o tipo é “redefido”.valor = "José" # string valor = 1 # inteiro valor = 5.8 # decimais
Observação: Há recurso de identificar tipo em Python-3.5 ou superior, por enquanto,
não afeta o comportamento do interpretador.
Isto é para facilitar a leitura do código ou em IDE para auto-completar o código.
Exemplo:
nome: str = "José"
numero: int = 1
valor: float = 5.8
lista: list = [1,2,3,4,5,6]
Referências
-
The Python Type System https://typing.python.org/en/latest/spec/type-system.html ↩︎