当变量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语句中发生局部变量错误。
答案 0 :(得分:0)
如果您想弄乱函数中的全局变量,则需要告诉函数它正在处理全局变量:
var = 232
def f():
global var
print (var)
var +=1
print (var)
f()
输出
232
233