Python中局部变量和全局变量的详解

x33g5p2x  于11个月前 转载在 Python  
字(1.0k)|赞(0)|评价(0)|浏览(203)

1.局部变量
定义:
局部变量,就是在函数内部定义的变量

约束:

其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的

实例:

def test1():
    a = 120
    print("我是局部变量a:",a)
    a = 240
    print("修改之后的局部变量a:",a)
def test2():
    a =360
    print("我是test02函数中的局部变量a",a)
test1()
test2()

注意:局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储
当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了

2.全局变量

定义:
在函数外边定义的变量叫做全局变量

约束:

全局变量能够在所有的函数中进行访问

实例:

a = 100
def test1():
    print(a)  # 虽然没有定义变量a但是依然可以获取其数据
def test2():
    print(a)  # 虽然没有定义变量a但是依然可以获取其数据
# 调用函数
test1()
test2()

3.全局变量和局部变量名字相同的情况下

当函数内出现局部变量和全局变量相同名字时,函数内部中的 变量名 = 数据 此时理解为定义了一个局部变量,而不是修改全局变量的值

实例:

a = 100  #全局变量
def test1():
    a= 300
    print("修改后的a:",a)
def test2():
    print(a)
# 调用函数
test1()
test2()

4.全局变量的修改

修改全局变量我们使用 global

如果在函数中出现global 全局变量的名字 那么这个函数中即使出现和全局变量名相同的变量名 = 数据 也理解为对全局变量进行修改,而不是定义局部变量

实例:

a = 100  #全局变量
def test1():
    global a   #将a变成全局变量
    a= 300
    print("修改后的a",a)
def test2():
    print(a)
# 调用函数
test1()
test2()

还可以进行多个全局变量的修改

实例:

a = 100  #全局变量
b = 200
def test1():
    global a   #将a变成全局变量
    global b
    a= 300
    b= 500
    print("修改后的a",a)
    print("修改后的b",b)
def test2():
    print(a)
    print(b)
# 调用函数
test1()
test2()

相关文章