14、Python相关-【函数】变量的作用域
文章目录
前言
一个程序的所有变量并不是在哪个位置都可以访问的。访问权限决定于这个变量实在哪里赋值的。定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中,本节课针对变量的作用域做主要讲解。
1.Python局部变量
在函数内部定义的变量,它的作用域也仅限于函数内部,出了函数就不能使用了,我们将这样的变量称为局部变量。
要知道,当函数被执行时,Python 会为其分配一块临时的存储空间,所有在函数内部定义的变量,都会存储在这块空间中。而在函数执行完毕后,这块临时存储空间随即会被释放并回收,该空间中存储的变量自然也就无法再被使用。
def demo1():
var_in = '变量2'
print("函数内部 add =",var_in)
demo1() #函数内引用
print("函数外部 add =",var_in) #函数外引用
执行结果:
函数内部 add = 变量2
Traceback (most recent call last):
File "D:/111文档111/其他/自动化教学源码+PPT/理论课代码/python_demo/aaa.py", line 6, in <module>
print("函数外部 add =",var_in) #函数外引用
NameError: name 'var_in' is not defined
2.Python全局变量
除了在函数内部定义变量,Python 还允许在所有函数的外部定义变量,这样的变量称为全局变量。
和局部变量不同,全局变量的默认作用域是整个程序,即全局变量既可以在各个函数的外部使用,也可以在各函数内部使用。
var_out = '变量2'
def demo1():
print("函数内部 add =",var_out)
demo1() #函数内引用
print("函数外部 add =",var_out) #函数外引用
执行结果:
函数内部 add = 变量2
函数外部 add = 变量2
3.global 关键字定义全局变量
在函数体内定义全局变量。即使用 global 关键字对变量进行修饰后,该变量就会变为全局变量。
def demo1():
global var_in
var_in = '变量2'
print("函数内部 add =",var_in)
demo1() #函数内引用
print("函数外部 add =",var_in) #函数外引用,这样就可以引用函数内的变量啦
执行结果:
函数内部 add = 变量2
函数外部 add = 变量2
总结
以上是对【函数】变量的作用域讲解!
关注公众号“软件测试技术联盟”,发送“测试资料”,免费获取全栈软件测试视频资料!!!