em menos de dois anos e meio que não programava nada
Mas vc mexia muito com Python? Porque as características que vc relatou não são tão recentes assim...
for i in i range(a,quantidade)
Isso nunca foi uma sintaxe válida em Python, a menos que seja um erro de digitação e vc quis dizer outra coisa (esse segundo i
está sobrando).
Sobre for _ in range(quantidade)
, esta sintaxe é válida há muito tempo.
Por mais estranho que pareça, _
é um identificador válido na linguagem, desde as primeiras versões. Isso quer dizer que podemos ter variáveis, classes e funções com este nome:
_ = 10
print(_ + 5)
def _():
print('oi')
_()
class _:
def __init__(self, value):
self.value = value
print(_(42).value)
Mas existe uma convenção (ou seja, algo que é recomendado, embora não seja obrigatório) de usar _
quando vc quer indicar que aquela variável não é importante naquele contexto. Por exemplo, se eu só quero rodar algo 10 vezes, faço for _ in range(10)
. Precisa ter um identificador depois do for
por exigência da sintaxe, mas se este não é usado dentro do loop, usa-se _
para indicar isso.
Novamente, não é obrigatório, apenas uma convenção para facilitar a leitura do código (só de bater o olho vc já sabe que a variável não será usada, e não perde tempo nem gasta esforço cognitivo pra ficar procurando ela no bloco do loop).
Já sobre range(a, quantidade)
versus range(quantidade)
, bem, isso também já é válido há muito tempo. O range
foi criado no Python 3 (em 2008), e sempre foi possível passar de um a três argumentos. Se vc passa apenas um, ele assume que o valor inicial é zero. E o terceiro parâmetro indica o passo (se não for informado, por default é 1
). Lembrando que o valor final não é incluso, ou seja, temos estas três possibilidades ao criar um range
:
range(10)
- intervalo de 0 a 9 (ou seja, os números 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9)
range(4, 10)
- intervalo de 4 a 9 (ou seja, os números 4, 5, 6, 7, 8 e 9)
range(1, 10, 3)
- intervalo de 1 a 9, pulando de 3 em 3 (ou seja, apenas os números 1, 4 e 7)
De qualquer forma, já passei por situações assim, principalmente se vc fica muito tempo sem mexer com determinada linguagem. Outro caso é que já fiquei muito tempo em um projeto com uma versão antiga e quando fui ver as mais novas, tomei um susto.
É normal, principalmente para as linguagens mainstream, que estão sempre se atualizando e adicionando novidades.