#python #variables #global
#python #переменные #глобальный
Вопрос:
Это может быть глупый вопрос, но я просто хочу знать, почему и как.
У меня есть переменная deviceConfig
(dict), объявленная глобально в файле .py. Мой ожидаемый результат: после завершения запуска .py значение глобальной переменной в файле изменится.
Я протестировал вывод значения в верхней части сценария и в конце сценария. После завершения выполнения Python начальное значение и выходные данные отличаются. Это означает, что он работает для изменения значения глобальной переменной во время выполнения.
Но когда я снова открываю файл .py после его завершения, значение переменной остается прежним. (может быть, потому, что я жестко закодировал значение dict?)
deviceConfig = {}
deviceConfig["sw_ui"] = "0.1"
print deviceConfig #output 0.1
#this is change value function
def alterValue():
global deviceConfig
#change the value from 0.1 to 0.2
deviceConfig["sw_ui"] = "0.2"
alterValue()
print deviceConfig #output 0.2 at runtime
Комментарии:
1. что вы имеете в виду под «Но я снова открываю файл .py после завершения»?
Ответ №1:
Когда вы делаете это
deviceConfig["sw_ui"] = "0.2"
вы изменяете значение во время выполнения deviceConfig["sw_ui"]
. Но изменение значения переменной во время выполнения не меняет исходный код вашего Python. Если вы хотите, чтобы такие изменения сохранялись при вызовах вашей программы, вам необходимо сохранить их в файле конфигурации.