如何在python中创建全局变量

时间:2014-08-19 16:05:26

标签: python global-variables calculator

我想制作一个计算器程序,以便在按下每个按钮时按钮的值将添加到字符串中,例如,如果按下4则应该是1111,所以当我尝试这样做时,它表示在分配之前引用的变量所以我可以捕获任何数字的数字,但我有错误:在分配之前引用变量st

st=""
def but1():
    v.set("1")
    global st=st+"1"

我们可以解决这个错误,还是有办法让变量全局化?

def but1():

    st=st+"1"
    v.set(st)
def but2():
    st=st+"2"
    v.set(st)
def but3():
    st=st+"3"
    v.set(st)
def but4():
    st=st+"4"
    v.set(st)
def but5():
    st=st+"5"
    v.set(st)
def but6():
    st=st+"6"
    v.set(st)
def but7():
    st=st+"7"
    v.set(st)
def but8():
    st=st+"8"
    v.set(st)
def but9():
    st=st+"9"
    v.set(st)

1 个答案:

答案 0 :(得分:0)

global 视为应被视为全局的名称:

def but1():
    global st
    v.set("1")
    st=st+"1"

你不能把它放在一个带有完整表达的行上。

global声明适用于整个当前范围(因此在函数中使用st名称)。如果您需要在多个功能中访问st,则需要在所有这些功能中使用相同的关键字。