Coisas que você provavelmente não está usando no Python 3 mas deveria
A seguir, apresento alguns exemplos de recursos que eu achei interessante de se usar no Python 3 e que me ajudaram bastante na hora de escrever meus códigos.
Lembrando, todos os exemplos abaixo descritos são escritos na versão Python 3.8.0 e cada recurso contém a versão mínima necessária do Python para esse recurso.
f-strings (3.6+)
É difícil fazer qualquer coisa sem strings em qualquer linguagem de programação e, desse modo, as pessoas desejam ter mais de uma maneira de trabalhar com strings. Entretanto, uma coisa que percebi durante meus estudos é que a maioria das pessoas que programam em Python preferem usar o método format.
Além do format
, a versão do Python 3 também oferece uma maneira flexível de fazer interpolação de string por meio de f-strings O mesmo código acima usando f – strings tem a seguinte aparência:
Expressões de atribuição — “operador morsa” (3.8+)
A versão mais recente do Python apresenta o operador walrus, ( “operador morsa”, em Português) devido à sua semelhança com os olhos e presas de uma morsa.
Com a sintaxe :=
que permite atribuição de variáveis de expressões. Isso pode ser bem útil se você quiser se referir à expressão posteriormente no código, economizando uma ou duas linhas no código.
No exemplo a seguir, a expressão de atribuição ajuda a evitar a chamada len()
duas vezes:
Outro exemplo de uso surge em casos de List Comprehension em que um valor calculado em uma condição de filtragem também é necessário no corpo da expressão:
Função Built-in — Enumerate (3.0+)
Uma das funções built-in que eu mais gosto de usar no Python é a função Enumerate().
Essa função permite retornar um objeto iterável.
Abaixo, temos um exemplo de um loop em for para exibir o valor e o índice de uma lista de nomes.
Desse modo indice
é um número inteiro que controla o quão longe você está na lista. E em cada iteração do loop, irá imprimir o indice, bem como o valor. A última etapa do loop é atualizar o número armazenado no indice. Um bug comum de acontecer e que também já ocorreu comigo é quando você se esquece de atualizar o indice a cada iteração:
Uma forma de obter o indice e o valor dentro de um loop é usar enumerate()
Em vez de colocar o iterável diretamente após in
no loop for
, você o coloca entre parênteses no enumerate()
. Você também deve alterar um pouco a variável de loop, conforme mostrado neste exemplo:
Portanto, a função enumerate()
é extremamente útil para quando precisamos encontrar um indice de um determinado valor dentro de uma estrutura de repetição utilizando poucas linhas de código.
Função Built-in divmod (3.0+)
A função divmod()
recebe dois parâmetros e retorna uma tupla contendo os resultados da divisão e do módulo usando os parâmetros fornecidos.
Abaixo, segue um exemplo do uso do divmod com os números 37 e 5.
É possível ver que divmod(37, 5)
retorna a tupla (7, 2)
. Onde 7
é o resultado da divisão entre 37
e 5
. O número 2
é o resultado do módulo 37
% 5
.
Considerações Finais
Como quase qualquer lista na internet, esta não está completa. Espero que este post tenha mostrado a você pelo menos uma funcionalidade do Python 3 que você não sabia que existia antes, e que ela possa ajudar você escrever um código mais limpo e intuitivo.