Python变量作用域,妈妈再也不会担心我不会Python了(十二)

1,959 阅读2分钟

变量作用域

局部变量

  • 定义在函数内部的变量,叫局部变量
  • 局部变量函数内部访问使用,函数外部不能访问使用
def introduce():
    name = "小明"#局部变量
    print("我的名字叫%s"%name)#函数内部使用局部变量

introduce()#调用函数
#print("我的名字叫%s"%name)#函数外部不能使用局部变量

上述代码运行结果:

上述代码运行结果

全局变量

  • 定义在函数外部的变量,叫全局变量
  • 全局变量在函数内部和函数外部都可以访问使用
name = "小明"#全局变量
def introduce():
    print("函数内部-我的名字叫%s"%name)#函数内部使用全局变量

introduce()#调用函数
print("函数外部-我的名字叫%s"%name)#函数外部使用全局变量

上述代码运行结果:

上述代码运行结果

当全局遇到局部

  • 当全局变量和局部变量名相同的时候,在函数内部使用局部,函数外部使用全局
name = "小明"#全局变量
def introduce():
    name = "小红"#局部变量
    print("函数内部-我的名字叫%s"%name)#函数内部使用局部变量

introduce()#调用函数
print("函数外部-我的名字叫%s"%name)#函数外部使用全局变量

上述代码运行结果:

上述代码运行结果

当局部遇到形参

  • 当实参传入到函数内部的时候,形参会接受到实参,我们可以直接把形参当局部变量使用
def introduce(name):#name是形参
    print("我的名字叫%s"%name)#把形参当局部变量使用

introduce("小明")#调用函数

上述代码运行结果:

上述代码运行结果

修改局部变量

  • 在函数内部可以直接修改局部变量
def introduce():
    name = "小明"
    name = "小红"#修改局部变量
    print("我的名字叫%s"%name)#使用修改后局部变量

introduce()#调用函数

上述代码运行结果:

上述代码运行结果

修改全局变量

在函数外部修改

  • 在函数外部可以直接对全局变量进行修改
name = "小明"#全局变量
def introduce():
    print("函数内部-我的名字叫%s"%name)#函数内部使用修改后全局变量

name = "小红"#函数外部修改全局变量
introduce()#调用函数
print("函数外部-我的名字叫%s"%name)#函数外部使用修改后全局变量

上述代码运行结果:

上述代码运行结果

在函数内部修改

  • 在函数内部要对全局变量进行修改,需要加上global声明
name = "小明"#全局变量
def introduce():
    global name#如果想在函数内部修改全局变量,需要加global声明
    name = "小红"
    print("函数内部-我的名字叫%s"%name)#函数内部使用修改后全局变量

introduce()#调用函数
print("函数外部-我的名字叫%s"%name)#函数外部使用修改后全局变量

上述代码运行结果:

上述代码运行结果
欢迎关注