0

Anotação de tipos em python

#Python
Vinicius Souza
Vinicius Souza

Python é conhecida como uma linguagem de tipagem dinâmica. Mas hoje em dia, podes usar uma anotação de tipos para definir qual o tipo de valor que uma variável pode receber.

O que são tipos?


Um tipo em python é um conjunto de valores e um conjunto de funções que são aplicados a estes valores.

Existem algumas formas de definir um tipo. Os tipos embutidos são, por exemplo, False e True que formam o tipo bool. Se você quiser criar seu próprio tipo, é só usar a instrução class.

class Doce:
	“cria um doce”
paçoca = Doce()
cocada = Doce()

O mais importante ao definir um tipo é garantir que eles sejam entendidos pelos type checkers. Por isso foi criada a anotação de tipos (type hints) em python.

Tipagem dinâmica x tipagem estática


A linguagem python é conhecida por possuir tipagem dinâmica. Isso quer dizer que você pode atribuir valores de qualquer tipo a uma variável, mesmo que já tenha sido atribuído um valor de tipo diferente.

x = 13    #tipo int
x = ‘floresta’   #tipo string
x = False    #tipo bool
x = cocada   #tipo Doce

A tipagem dinâmica permite que a linguagem seja muito flexível e até mais fácil de aprender. Mas com o tempo, quem utiliza python para desenvolver software percebeu que esta característica causava problemas. Principalmente na hora de testar o software, muitos bugs passavam despercebidos.

Por isso, desde o python 3.5 existe a possibilidade de anotar os tipos quando se faz a atribuição de uma variável. Isso aproxima o python das linguagens estaticamente tipadas,

Quando o tipo é estático, se você atribuir um valor de tipo diferente para a variável, retorna um erro. Python não faz isso, mas ele informa ao type checker qual o tipo da variável e, se você estiver testando o seu software, vão aparecer os problemas.

Como anotar os tipos em python?


A sintaxe é simples e bonita(como tudo em python)

def saudacao(name: str) -> str:
	return “Olá “ + name

Esta função recebe um nome, que precisa ser uma string, e retorna uma frase. Neste caso, se você colocar um valor que não seja uma string, ele vai retornar um erro porque não é possível concatenar outros tipos com uma string.

 

Saiba mais:


A discussão sobre tipos é bem complexa, e é preciso estudar muita coisa para entender o que implica ter tipos dinâmicos ou estáticos. Se você quiser saber mais, tem esta aula do Luciano Ramalho no Youtube:

https://www.youtube.com/watch?v=UVhGUINj1e0

 

Este artigo é parte do Desafio 21 dias na DIO. Já estou no dia 5. Para saber mais, visite o repositório:

https://github.com/VagnerBellacosa/DIO_Bootcamps/blob/main/DesafioDIOArtigos.Md

0
2

Comentários (0)

None

Brasil