Python

Python变量作用域

2018-08-23  本文已影响16人  小_源

变量作用域

局部变量

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("小明")#调用函数

上述代码运行结果:
[图片上传失败...(image-6754c8-1535035809819)]

修改局部变量

def introduce():
    name = "小明"
    name = "小红"#修改局部变量
    print("我的名字叫%s"%name)#使用修改后局部变量

introduce()#调用函数

上述代码运行结果:


上述代码运行结果

修改全局变量

在函数外部修改

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

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

上述代码运行结果:
[图片上传失败...(image-ff204-1535035809819)]

在函数内部修改

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

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

上述代码运行结果:


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

猜你喜欢

热点阅读