在两个Python程序中变量范围的问题-在一个程序中有效而在另一个程序中无效

时间:2019-04-26 14:47:52

标签: python

当变量var在函数f之外定义时,第一个程序起作用。值232成功输出。在第二个程序中,var再次在函数f之外定义,但是我收到一条错误消息,说运行函数中的print语句时未定义var。 为什么第一个程序可以工作,但是第二个程序不能工作?

第一个程序:

var = 232
def f():
    print (var)

f()

第二个程序:

var = 232
def f():
    print (var)
    var +=1

f()

期望第一个程序的输出-它输出值232。 第二个程序的输出应为232,然后递增var,但是在第3行的print语句中发生局部变量错误。

1 个答案:

答案 0 :(得分:0)

如果您想弄乱函数中的全局变量,则需要告诉函数它正在处理全局变量:

var = 232
def f():
    global var
    print (var)
    var +=1
    print (var)

f()

输出

232
233