1
resposta

Código exemplo apresentado com simbolo diferente

No código exemplo da aula sobre "como utilizar outras bibliotecas de python" notei que há um simbolo diferente do tradicional (->).

    def _only_digits(self, doc: str = '') -> str:
        """Remove os outros caracteres que não sejam dígitos."""
        return "".join([x for x in doc if x.isdigit()])

Alguém poderia explicar para quê serve e como ele funciona?

1 resposta

Olá Álvaro, tudo bem? Espero que sim!

Esse símbolo de seta faz parte dos TypeHints em Python. Os TypeHints indicam o tipo que deve ter a variável ou o tipo que deve retornar uma função.

Nesse caso de exemplo, foi utilizado a seta para indicar que a função _only_digits deve retornar um objeto do tipo str, ou string.

Podemos ter TypeHints para variáveis também, utilizando os dois pontos, como é o caso do parâmetro doc: str da função que também deve ser um objeto do tipo str.

Os TypeHints não impedem de a variável receber outro tipo nem impedem de uma função retornar outro tipo, mas são dicas para os desenvolvedores para que o código funcione da maneira esperada.

Além disso, ao utilizar IDEs mais robustas, elas irão auxiliar, seja sublinhando objetos que não estão correspondendo ao TypeHint utilizado ou mostrando em caixas suspensas qual o tipo de objeto que deve ser escrito naquela parte do código.

Você pode conhecer mais sobre TypeHints no curso Python: Boas práticas de código com PEP8.

Estou à disposição. Bons estudos!