Я пытаюсь изменить значения аргументов функции, заданные по умолчанию, из командной строки с помощью функции input(). Я хочу сделать это именно так и знаю, что можно (возможно, даже нужно) сделать иначе. Тем не менее, интересно именно так. Я пробовал достать словарь, представляющий пространство имен функции изнутри самой функции при помощи
function_name.__dict__
def defaults(a=11, b=22): for default in locals(): eval('{0} = int(input({0}))'.format(default)) # пусть ключ служит подсказкой для ввода
Можно ли как-то извернуться и все-таки сделать это (желательно не слишком уродливым образом)?