Python é uma linguagem de programação versátil e de alto nível. Quando se trata de tipagem, Python oferece uma abordagem única que combina flexibilidade e segurança. Neste texto iremos explorar os conceitos fundamentais de tipagem em Python. Vem ler!
Tipagem dinâmica
Ao contrário de linguagens como Java e C++, Python é uma linguagem de tipagem dinâmica. Isso significa que o tipo de uma variável é determinado em tempo de execução, e não em tempo de compilação. Portanto, não é necessário declarar o tipo de uma variável quando ela é criada.
Exemplo:

Tipagem forte
Apesar de ser dinâmica, a tipagem de Python é forte. Isso significa que o interpretador de Python não realiza conversões automáticas entre tipos incompatíveis, a menos que essa conversão seja logicamente definida (como a conversão implícita de int para float). Isso evita muitos erros sutis:
Exemplo:

União de tipos
No módulo typing, a Union permite definir variáveis ou retornos que podem ser de vários tipos diferentes. Outras ferramentas úteis incluem Optional (para indicar que algo pode ser None) e List, Dict, etc., para tipos mais específicos de coleções.
Exemplo:

Tipos personalizados
Também é possível definir seus próprios tipos usando classes em Python, proporcionando uma grande flexibilidade para modelar soluções e estruturas de dados específicas.
Vamos aprofundar um pouco mais os conceitos e aspectos da tipagem em Python.
Tipagem dinâmica
Python determina o tipo de uma variável no momento da atribuição, durante a execução. Isso proporciona grande flexibilidade, mas também pode levar a erros que só são detectados em tempo de execução. Por exemplo, a atribuição de um valor a uma variável previamente definida com um tipo diferente é perfeitamente válida:

Tipos básicos e operações
Python vem com um conjunto de tipos básicos incorporados. Alguns dos mais comuns incluem:
Inteiros (int): Suporta operações aritméticas comuns como adição, subtração, multiplicação etc.
Ponto flutuante (float): Representa números reais e suporta operações aritméticas.
Strings (str): Sequências de caracteres. Suportam operações de concatenação, fatiamento, entre outras.
Listas (list): Coleção ordenada e mutável. Permite adição, remoção e acesso por índice.
Tuplas (tuple): Semelhante às listas, mas imutável.
Dicionários (dict): Coleção de pares chave-valor. Permitem acesso, adição e remoção por chave.
Anotações de tipos
Anotações de tipos são apenas sugestões e não impõem restrições reais:

No entanto, ferramentas externas, como mypy, podem ser usadas para verificar a conformidade de tipos no código, usando essas anotações.
Tipos personalizados
Em Python, qualquer classe pode atuar como um tipo. Portanto, ao criar classes personalizadas, você está efetivamente criando novos tipos:

Conclusão
A tipagem em Python oferece uma combinação única de flexibilidade e rigor, permitindo aos desenvolvedores escrever código rápido e legível, ao mesmo tempo em que mantém a segurança do tipo. Com as anotações de tipos, os programadores podem agora adicionar uma camada adicional de documentação e verificação, garantindo ainda mais a robustez do código.
A tipagem em Python fornece uma abordagem equilibrada entre flexibilidade e segurança. Enquanto a tipagem dinâmica permite o desenvolvimento rápido e a prototipagem, as anotações de tipos oferecem uma maneira de documentar e verificar o código para erros potenciais relacionados à tipagem. A combinação desses recursos torna Python uma linguagem poderosa, tanto para pequenos scripts quanto para sistemas complexos.
E aí? O que achou do nosso conteúdo? Não deixe de nos seguir nas redes sociais para ficar muito bem-informado!