Python 3.x Python3.x:如何在所有函数中操作变量?(不带全局)(未绑定本地错误)

Python 3.x Python3.x:如何在所有函数中操作变量?(不带全局)(未绑定本地错误),python-3.x,function,variables,global,local,Python 3.x,Function,Variables,Global,Local,我试图将一些代码放入一个函数,但我得到了一个未绑定的局部错误-我有点理解为什么,我只是不知道如何修复它 编辑:特别是我被告知不要使用global,因为global“是个坏主意”。肯定还有别的办法吗 在整个代码中,我有多个变量需要通过用户输入进行修改,这些修改后的值需要通过一个或多个不同的函数(重复(使用新值)传递,直到得出某个结论) 如何在多个函数中使用变量(干净)?如果我在一个函数中定义它们,那么它们只在那里可用,对吗?我不能在其他地方改变他们的价值观 谢谢你的帮助 这是我想放在函数中的代码的

我试图将一些代码放入一个函数,但我得到了一个未绑定的局部错误-我有点理解为什么,我只是不知道如何修复它

编辑:特别是我被告知不要使用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,该怎么办?全球化有副作用,不是吗?