![]() |
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.