0
我正在创建一个程序,因为众多原因必须随时将大量变量保留为空字符串。为什么我的函数不能正确返回这些变量?
为了避免重复这段代码,我创建了一个功能象下面这样:
def reset_variables():
other_name_used = ''
name_changed = ''
former_name = ''
country_of_residence = ''
at_address_since = ''
previous_address = ''
date_of_birth = ''
city_of_birth = ''
return other_name_used
return name_changed
return former_name
return country_of_residence
return at_address_since
return previous_address
return date_of_birth
return city_of_birth
现在在我的代码,whenver我想重置相同的变量的不同点,我只是试图调用函数,所以它们成为我当前函数名字空间的一部分(尽管它不起作用的事实导致我暗示这不是它的工作原理)。
每当我调用这个函数,而在另一个函数,然后尝试使用变量,我用下面的回溯招呼:
UnboundLocalError: local variable 'other_name_used' referenced before assignment
这使我认为,变量名是不在当前函数的命名空间中,当然它必须是因为它在调用'reset_variables'函数后返回给它的!
有人知道为什么会发生这种情况,如果是的话,我该如何实现这一目标?
感谢大家帮助!
啊是有道理的,我的印象是返回功能是无限的。非常感谢! – Ruthus99