|
Python - Alimentando Variável com Argumentos | |
| @CanalQb | ||
Em Python, é possível criar variáveis dinamicamente com nomes definidos em tempo de execução. Uma forma prática de fazer isso é utilizando o argumento passado na linha de comando (via sys.argv) para definir o nome da variável, usando o método globals().
Exemplo prático
Considere o seguinte código que cria uma variável global com nome definido pelo primeiro argumento da linha de comando:
import sys
# Obtém o nome da variável a partir do primeiro argumento da linha de comando
nome_variavel = sys.argv[1]
# Define a variável global com o nome especificado
globals()[nome_variavel] = "Valor da variável"
# Testa a variável recém-criada
print(nome_variavel) # Saída: nome passado como argumento
print(globals()[nome_variavel]) # Saída: "Valor da variável"
Como funciona?
- sys.argv: lista que contém os argumentos passados na linha de comando.
sys.argv[1]é o primeiro argumento além do nome do script. - globals(): retorna um dicionário do namespace global atual, permitindo criar ou modificar variáveis globais em tempo real.
- O nome da variável é definido dinamicamente com base no argumento passado, e atribuímos a ela um valor padrão, neste caso uma string.
Cuidados e recomendações
Embora criar variáveis dinamicamente seja uma funcionalidade poderosa do Python, recomenda-se usar com cautela. Isso pode tornar o código difícil de entender e depurar. Alternativas mais seguras incluem o uso de dicionários para armazenar pares chave-valor dinamicamente.
Além disso, sempre valide os argumentos recebidos para evitar erros ou comportamentos inesperados. Um exemplo de validação simples:
if len(sys.argv) < 2:
print("Uso correto: python nome_script.py nome_variavel")
sys.exit(1)
Referências oficiais
Conclusão
Usar argumentos de linha de comando para definir nomes de variáveis dinamicamente em Python pode ser útil em situações específicas, como scripts que precisam adaptar seu comportamento conforme entrada do usuário. No entanto, priorize sempre a clareza do código e prefira estruturas de dados quando possível.

Comentários
Comente só assim vamos crescer juntos!