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