python中局部变量和全局变量
局部变量,就是在函数内部定义的变量
不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
局部变量的作用,为了临时保存数据需要在函数
在函数外边定义的变量叫做全局变量
全局变量能够在所有的函数中进行访问
如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错
如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的
-
局部变量:
局部变量,就是在函数内部定义的变量
不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用
1 def test1():
2 a=111
3 print("a=%d"%a)
4 b=222
5 print("b=%d"%b)
6
7 def test2():
8 c=333
9 print("c=%d"%c)
-
全局变量
如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量
1 a=200
2 def test1():
3 print(a)
4
5 def test2():
6 print(a)
7
8 test1()
9 test2()
-
全局变量和局部变量名字相同问题
#定义全局变量
a=200
def test1():
a=300
print("test1...修改前a=%d"%a)
a=400
print("test1...修改后a=%d"%a)
def test2():
print("test2....a=%d"%a)
test1()
test2()~
-
修改全局变量
既然全局变量,就是能够在所以的函数中进行使用,那么可否进行修改呢?
答案是可以的,我们可以使用global
-
总结:
在函数外边定义的变量叫做全局变量
全局变量能够在所有的函数中进行访问
如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错
如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的
-
可变类型的全局变量
~在函数中不使用global声明全局变量时不能修改全局变量的本质是不能修改全 局变量的指向,即不能将全局变量指向新的数据。
~对于不可变类型的全局变量来说,因其指向的数据不能修改,所以不使用glob al时无法修改全局变量。
~对于可变类型的全局变量来说,因其指向的数据可以修改,所以不使用global 时也可修改全局变量