locals - это встроенная функция, которая возвращает словарь локальных значений. В документации сказано:Изменение местных жителей в Python
Предупреждение
содержимое этого словаря должен не быть изменен; изменения могут не влиять на значения локальных переменных , используемых интерпретатором.
К сожалению, exec имеет ту же проблему и в Python 3.0. Есть ли способ обойти это?
Use Case
Рассмотрим:
@depends("a", "b", "c", "d", "e", "f")
def test():
put_into_locals(test.dependencies)
зависит хранит строки, приведенные в своих аргументов в списке test.dependences
. Эти строки являются ключами в словаре d
. Я хотел бы иметь возможность написать put_into_locals
, чтобы мы могли вытащить значения из d
и поместить их в местных жителей. Это возможно?
Ссылка на соответствующую документацию: https://docs.python.org/2/library/functions.html#locals –
почему 'test. Зависимости = ["a", "b", "c", "d", "e", "f"] 'работают, а затем украшают присваивание, которое я написал выше, к вашей функции' test() '? –
вам удалось обновить/изменить местные жители или нет? –