Python 3.x Python3.x:如何在所有函数中操作变量?(不带全局)(未绑定本地错误)
我试图将一些代码放入一个函数,但我得到了一个未绑定的局部错误-我有点理解为什么,我只是不知道如何修复它 编辑:特别是我被告知不要使用global,因为global“是个坏主意”。肯定还有别的办法吗 在整个代码中,我有多个变量需要通过用户输入进行修改,这些修改后的值需要通过一个或多个不同的函数(重复(使用新值)传递,直到得出某个结论) 如何在多个函数中使用变量(干净)?如果我在一个函数中定义它们,那么它们只在那里可用,对吗?我不能在其他地方改变他们的价值观 谢谢你的帮助 这是我想放在函数中的代码的草图:Python 3.x Python3.x:如何在所有函数中操作变量?(不带全局)(未绑定本地错误),python-3.x,function,variables,global,local,Python 3.x,Function,Variables,Global,Local,我试图将一些代码放入一个函数,但我得到了一个未绑定的局部错误-我有点理解为什么,我只是不知道如何修复它 编辑:特别是我被告知不要使用global,因为global“是个坏主意”。肯定还有别的办法吗 在整个代码中,我有多个变量需要通过用户输入进行修改,这些修改后的值需要通过一个或多个不同的函数(重复(使用新值)传递,直到得出某个结论) 如何在多个函数中使用变量(干净)?如果我在一个函数中定义它们,那么它们只在那里可用,对吗?我不能在其他地方改变他们的价值观 谢谢你的帮助 这是我想放在函数中的代码的
#variables that need to be used (and altered) within multiple functions
Var1 = #a_number
Var2 = #a_number
Var3 = #a_number
def a_function(): #created Unbound Local Error
output() #prints original vars
while True:
inp = float(input("Enter a number: "))
Var1 += inp
Var2 -= inp
Var3 *= inp
output() #prints new values for vars
if/elif/else....
#when Vars are a certain number new calculations are done
#on them. Regardless, there is always only one output of
# the 3 Vars
#some Var vals trigger certain functs which print those new value
#or functions which may even manipulate the values further
在函数中,从以下内容开始:
global Var1, Var2, Var3
唯一的Pythonic方法是使用
global
关键字如果没有global,该怎么办?全球化有副作用,不是吗?