Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Como gerar variáveis dinamicamente em Python: métodos e cuidados

#python; #programacao; #variaveis
@CanalQb

Gerando variáveis dinamicamente em Python

@CanalQb

Em Python, você pode criar múltiplas variáveis com nomes diferentes usando um laço for junto com a função range(). Por exemplo, para criar cinco variáveis chamadas var1, var2, var3, var4 e var5, podemos usar o código abaixo:

for i in range(1, 6):
    exec(f"var{i} = {i}")

print(var1, var2, var3, var4, var5)

Nesse exemplo, a função exec() executa o código Python contido na string, permitindo criar variáveis dinamicamente. O f-string constrói os nomes das variáveis com o número do laço.

Cuidados e alternativas ao uso do exec()

Embora exec() seja poderoso, seu uso é geralmente desaconselhado por questões de segurança e manutenção do código, pois permite execução de código arbitrário, o que pode levar a vulnerabilidades.

Uma abordagem mais segura e eficiente para armazenar múltiplos valores dinamicamente é usar listas ou dicionários. Veja os exemplos abaixo:

Usando lista

valores = []
for i in range(1, 6):
    valores.append(i)

print(valores)  # Saída: [1, 2, 3, 4, 5]
print(valores[0])  # Acessa o primeiro valor: 1

Usando dicionário

variaveis = {}
for i in range(1, 6):
    variaveis[f"var{i}"] = i

print(variaveis)  
# Saída: {'var1': 1, 'var2': 2, 'var3': 3, 'var4': 4, 'var5': 5}
print(variaveis["var1"])  # Acessa o valor da chave "var1": 1

Por que preferir listas e dicionários?

  • Segurança: Evita a execução de código arbitrário, prevenindo vulnerabilidades.
  • Organização: Facilita a manipulação e iteração sobre os dados.
  • Manutenção: Código mais claro e de fácil entendimento para outros desenvolvedores.

Conclusão

Criar variáveis dinamicamente com exec() pode parecer prático em alguns casos, mas é importante estar ciente dos riscos envolvidos. O uso de listas e dicionários é recomendado para garantir código mais seguro e organizado, principalmente em projetos maiores ou em produção.

Para aprofundar, consulte a documentação oficial do Python sobre exec() e a documentação oficial sobre estruturas de dados.

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo