x = 2 def fun1(): print(x,end = '\t') def fun2(): global x x += 1 print(x,end = '\t') fun1() fun2() print(x,end = '')
此处为全局变量
def addone(a): # a为形参 a += 1 print(a) a = 3 addone(a) print(a)
此处为形参
这两段代码差不多,但是如果将global注释掉,第一段代码就会报错,有大佬讲一下吗
x = 2 def fun1(): print(x,end = '\t') def fun2(): global x x += 1 print(x,end = '\t') fun1() fun2() print(x,end = '')
此处为全局变量
def addone(a): # a为形参 a += 1 print(a) a = 3 addone(a) print(a)
此处为形参
这两段代码差不多,但是如果将global注释掉,第一段代码就会报错,有大佬讲一下吗
形参就是局部变量,但局部变量不一定是形参,在函数内部定义的变量(包括形参)就是局部变量;
global关键字定义的变量就是全局变量,可以共享数据。