您的位置:首页 > 编程语言 > Python开发

python中变量的作用域

2018-01-31 22:16 211 查看
什么是作用域?就是指一个变量产生作用的范围,在哪一个范围内可以被使用

变量的作用域:全局变量的作用域、局部变量的作用域

全局变量:一般在函数、代码块外部声明的变量,被称为全局变量,作用范围,是从声明的位置往下,一直到文件的末尾都可以使用

局部变量:一般在函数内部或代码块内部声明的变量,被称为局部变量,这类变量只能在函数或代码块内部使用,超出范围不可用

#如下:b为全局变量,a为局部变量
b=10
if 1==1:
a=10
#代码块 对a是重新引用了一次(不是创建),会改变a的值
a=20
if 1==1:
a=10
print(a)
运行结果:a=10

#函数  重新创建了一个变量来指向另外一个值,以下两个c是不同的c,占用不同的内存空间,函数里的c是局部变量
c=20
def eat():
c=10
eat()
print(c)
运行结果:20
全局变量如何在函数内部进行赋值操作?
#全局变量name
name='张三'
#默认情况下,如果全局变量的名称和局部变量名称相同,例如:都是name,在函数中,局部变量会将全局变量覆盖掉
def change_name():
#如果不使用global引用全局变量,是可以获取这个全局变量值得  例如s=name
#但是不能修改全局变量,一旦修改,相当于创建了一个和全局变量同名的局部变量
#局部变量name
# name='李四'
#global:全局  引用一个全局变量,避免出现一个和全局变量同名的局部变量
#告诉这个函数,在函数内部使用的name变量是一个全局的变量
global name
name='李四'
#在这里输出name='李四'
 print(name)
change_name()
#在这里nmae也是李四,因为在函数里用global调用了全局变量并且进行了修改
print(name)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: