局部变量和全局变量

<1>什么是局部变量

如下图所示:

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

全局变量

<1>什么是全局变量

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

demo如下:

# 定义全局变量
a = 100
def test1():
    print(a)
def test2():
    print(a)
# 调用函数
test1()
test2()

 运行结果:

100

100

<2>修改全局变量

既然全局变量,就是能够在所以的函数中进行使用,那么可否进行修改呢?

代码如下:

# 定义全局变量
a = 100
def test1():
    print(a)
    a=300
    print(a)
def test2():
    a=200
    print(a)
# 调用函数
test1()
test2()

 运行结果:

Traceback (most recent call last):
  File "D:Python_WorkspaceHelloWorldaaHello.py", line 11, in <module>
    test1()
  File "D:Python_WorkspaceHelloWorldaaHello.py", line 4, in test1
    print(a)

修改如下:

# 定义全局变量
a = 100
def test1():
    global a
    print(a)
    a=300
    print(a)
def test2():
    a=200
    print(a)
# 调用函数
test1()
test2()

 运行结果:

100
300
200

<3>全局变量和局部变量名字相同问题

demo

# 定义全局变量
a = 100
def test1():
    a=300
    print(a)
def test2():
    a=200
    print(a)
# 调用函数
test1()
test2()

 运行结果:

300
200

  • 在函数外边定义的变量叫做全局变量
  • 全局变量能够在所以的函数中进行访问
  • 如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错
  • 如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的,小技巧强龙不压地头蛇
原文地址:https://www.cnblogs.com/loaderman/p/6559430.html