我正在创建一个程序,因为多种原因必须始终将大量变量保留为空字符串。
为了避免重复此代码,我创建了一个如下函数:
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
现在我的代码中的不同点,当我想重置相同的变量时,我只是尝试调用该函数,使它们成为我当前函数命名空间的一部分(虽然它不起作用的事实导致我建议这个不是它的工作方式)。
每当我在另一个函数中调用此函数,然后尝试使用该变量时,我都会遇到以下追溯:
UnboundLocalError: local variable 'other_name_used' referenced before assignment
这让我建议变量名不在当前函数的命名空间中,但是必定是因为它在调用'reset_variables'函数时返回给它了??
有谁知道为什么会这样,如果有的话,我怎么能实现这个目标?
感谢所有帮助过的人!
答案 0 :(得分:1)
真的?
重置变量不是那么容易
因为你只能返回一个。
如果要重置,则必须将变量定义为全局变量,并将此函数中的值设置为变量