Python: Usando vars () para atribuir uma string a uma variável

Acho muito útil poder criar novas variáveis durante o tempo de execução e criar um dicionário dos resultados para processamento posterior, ou seja, gravar em um arquivo:

myDict = {}
for i in range (1,10):
    temp = "variable"+str(i) 
    vars()[temp] = myFunctionThatReturnsData() # variable1= data1, variable2 = data2,etc.
    myDict[temp] = vars(temp)

que cria a entrada de dicionário [result1: data1] que posso chamar com myDict [result1]. Eu tenho usado vars () sem realmente entender o que estou fazendo. eu levovars() retorna um dicionário com as variáveis locais (?) e

vars () [x] = y

cria uma nova entrada de dicionário de [x: y]?

Eu tenho um script no qual passo em um dicionário preparado com {input1: data1, input2: data2} e uso esse método para percorrer todos os valores, armazenar todos os resultados e enviá-lo para um arquivo. Esse pedaço de código está dentro de uma função dentro de uma classe e está funcionando.

Minha fonte de confusão é que li várias postagens sobre como os habitantes locais () não devem ser mexidos e como vars () é equivalente (?) A habitantes locais () ou globais () ..

Então, minha pergunta é (pelo menos) dupla:

1.O que exatamente vars (), ou em particular, vars () [x] = y,

2.Qual é o escopo deste dicionário (o que eu preciso ter em mente ao escrever programas maiores

3.Se essa é uma boa prática de programação.

Desde já, obrigado!

questionAnswers(6)

yourAnswerToTheQuestion