Executando verificação de segurança...
3

Reaprendendo pyhton e me sentindo um idoso aprendendo a nova gramática

Oi gente!
Faz tempo que não programava, me sentia na secura.

Então fui dar uma olhada no python, abri uns sites com tutorias simples.
E me choquei ao ver como um for mudou tanto. Agora não precisa usar "for i in i range(a,quantidade)", pode usar só um "for _ in range(quantidade)".

E muitas outras coisas mudaram, eu com 22 anos, não tinha presenciado tantas mudanças assim em menos de dois anos e meio que não programava nada, com isso, lembrei do meu avô e avó falando como foi difícil reaprender Português com a nova gramática.

Então queria saber da comunidade, vocês já passaram por isso ou algo similar?

Carregando publicação patrocinada...
2

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:

# variável chamada "_"
_ = 10
print(_ + 5) # 15

# função chamada "_"
def _():
    print('oi')

_() # oi

# classe chamada "_"
class _:
    def __init__(self, value):
        self.value = value

print(_(42).value) # 42

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.

1
1
1

Vai dizer que também não sabia do operador walrus ???

if (vendas := int(input("Vendas do funcionário: "))) > 1000:
    bonus = 0.05 * vendas
else:
    bonus = 0

print("Bonus: ", bonus)
print("Vendas:", vendas)

O operador walrus é um operador especial representado por := . Ele recebe esse nome por se assemelhar a uma morsa (walrus em inglês) com os olhos e os dois dentões.

Como funciona o operador walrus em Python?
Esse operador é utilizado para atribuir um valor a uma variável e usá-la ao mesmo tempo, tudo em uma única linha de código.

1

Cara eu programo em Python todos os dias e acredita que eu nem sabia disso ainda,
tenho que pegar para estudas as versões mais novas do Python…

2

A questão é que os servidores Linux vêm por padrão uma versão menos atualizada do Python e por compatibilide entre servidores, bibliotecas e frameworks, os projetos geralmente usam essa versão padrão.
Você pode instalar versão mais nova, mas tem que saber manter a compatibilidade com seu projeto.

1
1

Mano, eu tava usando python no linux, coisa básica. Aí fui tentar fazer um exemplo de Fibonacci para testar a nova gramática do Python, muita coisa mudou. o Código fica tão limpo que eu não tava sabendo ler kkkkkkkkk