Python全局变量和局部变量

局部变量

  1. 局部变量就是在函数内部定义的变量。
  2. 不同的函数内部可以定义名字相同的变量,但它们不会产生影响。
  3. 局部变量的作用,为了临时保存数据需要在需要在函数中定义变量来进行存储。

全局变量

如果一个变量既能在一个函数中使用,也可以在其他函数中使用,这样的变量就是全局变量。 
global的使用

它的功能就是如果需要在函数内定义(修改)全局变量,则要先用global进行声明。

 1 a = 100 # 定义一个全局变量a,并初始化为100
 2 # 分别定义函数test1、test2
 3 def test1():
 4  global a # 声明函数中使用的a是全局变量
 5  print("修改前:a=%s" % a)
 6  a = 300
 7  print("修改后:a=%s" % a)
 8 def test2():
 9  print(a)
10 test1()
11 test2()
12 
13 """
14 结果如下:
15 修改前:a=100
16 修改后:a=300
17 300
18 """
  • 在函数中不是用global声明全局变量时不能修改全局变量的本质是不能修改全局变量的指向,即不能将全局变量指向新的数据。
  • 对于不可变类型的全局变量来说,因其指向的数据不能被修改,所以不是用global时无法修改全局变量。
  • 对于可变类型的全局变量来说,因其指向的数据可以改变,所以不用global时可以修改全局变量。

转载:https://www.jb51.net/article/167741.htm

posted @ 2021-05-30 21:29  靠谱杨  阅读(272)  评论(0编辑  收藏  举报