Coletânea Python do ZERO às Redes Neurais Artificiais
Count
Quando se estuda os fundamentos de uma linguagem de programação, um dos conceitos presentes é o de contadores ou incremento de valores dependendo do contexto.
Avançando um pouco dentro desses conceitos, visando apenas otimizar a
performance de execução de nosso código, podemos fazer o uso da ferramenta count( ).
Na prática, como tal módulo não é nativo do Python, mas compõe a
biblioteca itertools, precisamos realizar a importação do mesmo. Como já feito outras vezes, a importação é realizada de forma simples por meio do comando from itertools import count.
Lembrando que como iremos usar apenas dessa função da biblioteca
itertools, uma vez importado o módulo/pacote, podemos usar o mesmo diretamente, sem precisar instanciar a biblioteca em si.
Note que é criada a variável contador que simplesmente chama a função
count( ), sem parâmetros mesmo, atribuída para si,
Uma vez que temos uma variável chamando a função, podemos a partir
disso realizar qualquer tipo de interação sobre a mesma, internamente todo e qualquer código que iterar com essa variável estará iterando com count( ).
Sendo assim, podemos criar um laço de repetição bastante básico, onde
iremos interagir com a variável contador.
Repare que no corpo desse laço for simplesmente é exibido o número em questão que está sendo gerado e processado pelo contador, também é criada uma simples estrutura condicional dizendo que se o número gerado for igual ou maior que 10, é para que o processamento seja interrompido.
O retorno é, como esperado, 11 números sequenciais, uma vez que o
contador sempre é por padrão inicializado em 0.
Por meio do pré-visualizador podemos notar algo interessante,
diferentemente do método tradicional incrementando uma variável, onde a cada laço é gerada uma nova instância da variável alocando espaço em memória, aqui temos um espaço alocado dinamicamente atualizado a cada laço.
Como dito anteriormente, a justificativa de se usar tal método é
simplesmente a otimização de performance de nosso código. Em geral, uma boa prática de programação é dedicar uma fase de polimento a nossos programas, de modo a, se for o caso, até mesmo reescrever certos blocos de código quando for possível um ganho de performance.
Como mencionado anteriormente, por padrão todo e qualquer contador
tem sua inicialização contado números a partir do zero, porém, é perfeitamente possível via função count( ) definir um marco inicial manualmente, e isso é feito por meio do parâmetro start seguido do valor a ser usado como referência.
Adaptado o exemplo anterior para agora iniciar em 40 e contar até que o
valor seja igual ou maior que 50, o resultado é uma sequência de números dentro desse intervalo.
Explorando uma outra funcionalidade muito utilizada rotineiramente, ao
fazer o uso de nosso contador via count( ) também podemos definir de quantos em quantos números será feita a devida contagem.
Como esperado, o retorno é uma sequência de números de 0 a 20,
contados de 2 em 2 números.