Обновление переменной в функции Python
Уважаемые коллеги, подскажите, пожалуйста следующее, как я могу реализовать обновление переменной внутри функции, при следующих условиях:
В функцию приходит объект Dictionary типа {'variable': 'value'}, в котором указано какую переменную внутри функции нужно мутировать.
Пример:
Есть функция в которой есть переменная width = 100
В функцию приходит аргумент mutations, внутри которого словарь {'width': 102'}
При возвращении из функции width должна принять значение 102
Я понимаю, что я могу просто сделать:
if mutations:
width = mutations.get('width')
return width
Подразумевается, что таких мутаций может быть множество, то есть на каждую прописывать это - не вариант. Подскажите, пожалуйста, как быть? Пробовал через locals().update() - не прокатило...
Ответы (1 шт):
Решение вашей проблемы:
def generate(x_dict : dict):
for key in x_dict:
globals()[key] = x_dict[key]
generate({'test':'100', 'test1':'102'})
print(test) #100
Так же стоит упомянуть что такое создание переменных очень нежелательно и такое встречается очень редко. 1000% вашу задачу можно решить иначе и проще.