Função range()
Se você se interessa por IA e machine learning, já deve saber que, para aproveitar todo o potencial dessas tecnologias, é essencial entender os fundamentos da programação em Python. Um desses conceitos fundamentais que frequentemente passa despercebido é a função range() em Python, que será o tema deste post. A função range() é usada para iterar sobre números e pode ser aplicada em vários cenários de programação.
O que é range() em Python?
Em Python, a função range() é uma função embutida frequentemente usada em loops para iteração. Ela fornece uma maneira fácil para gerar uma sequência de números. Range() retorna um objeto imutável que gera números dentro de parâmetros especificados do início ao fim. Em outras palavras, a função range() retorna uma sequência iterável de números começando a partir de um valor inicial especificado (incluído na sequência) e terminando em um valor final especificado (não incluído na sequência). O tamanho do passo entre valores consecutivos pode ser ajustado usando um argumento opcional. Portanto, a sintaxe básica da função range() é essa:
range(início, parada, passo)
Início: é o ponto de partida da sequência (o padrão é 0).
Parada: é o ponto final da sequência (não incluído na sequência).
Passo: é a diferença (intervalo) entre valores sequenciais (o padrão é 1).
No entanto, tanto o valor de início quanto o passo são argumentos opcionais. Isso significa que a sintaxe básica mostrada acima contém três variações possíveis.
Range(parada)
Uma das variações mais comuns da sintaxe mostrada acima é range(parada). Ela omite tanto o ponto de início (cujo valor padrão é 0) quanto o passo (cujo valor padrão é 1). Portanto, essa variação é usada para gerar uma sequência de inteiros com início em 0 até o valor de parada (término). O valor de parada não é incluído. Veja um exemplo:
for i in range(3):
print(i)
# Resultado:
# 0
# 1
# 2
Range(início, parada)
Lógica semelhante se aplica na sintaxe range(início, parada). A diferença é que o ponto de início determina onde começamos a iterar a sequência de números. Digamos, por exemplo, que a primeira iteração comece com o valor 2 (incluído) e continue até o 5 (não incluído). Aqui nosso código será assim:
for i in range(2, 5):
print(i)
# Resultado:
# 2
# 3
# 4
Range(início, parada, passo)
A terceira variação da sintaxe da função range() permite a definição de um passo específico entre os elementos que queremos iterar. Digamos que, como exemplo para esta seção, eu queira que meu iterador/mecanismo de looping comece com 3, termine antes de atingir o valor de 10, mas também pule ou avance em incrementos de 2:
for i in range(3, 10, 2):
print(i)
# Resultado:
# 3
# 5
# 7
# 9
Range() com números negativos
A maioria das situações em que usamos range() inclui apenas números positivos. No entanto, nada impede você de usar números negativos na função. Por exemplo, você pode usá-la para iterar sobre os números de -20 a -10 com passo de 2:
for i in range(-20, -10, 2):
print(i)
# Resultado:
# -20
# -18
# -16
# -14
# -12