python函数变量的作用域,python命名空间和作用域的关系
本文主要介绍Python函数命名空间和作用域,分别介绍局部和全局模式。内容详细,有一定的参考价值,有需要的朋友可以参考一下。
00-1010 1.本地范围2。Enclosingfunctionlocals范围3。全局全局变量4。非本地变量。邻近原则6。功能执行序列7。循环判断码块摘要:.中的范围问题
Python函数是一个打包的代码块。通过前面的返回函数、闭包函数等课程,我们发现它的内部变量定义在不同的位置,使用起来的效果是不一样的。这是Python函数的作用域和命名空间。
目录
a=100
定义函数5():
b=50
a=99
打印(函数中的a,a)
打印(函数中的b,b)
Print(在函数a之外,a)
func5()
打印(“非功能b”,b)
返回结果:
外部函数a 100
在功能a 99内
功能b 50
回溯(最近呼叫):
文件 c :/users/administrator/desktop/python知识总结/2.python自学网-通用模块-视频源代码/test.py ,模块中第12行
打印(“非功能b”,b)
NameError:未定义名称“b”
b变量是在上面的函数中定义的,所以不能输出到外面。
1.Local作用域
a=100
定义函数5():
b=50
打印(函数中的a,a)
打印(函数中的b,b)
定义函数6():
打印(较低功能中的a,a)
打印(b在较低的功能中,b)
func6()
func5()
返回结果:
在功能a 100内
功能b 50
一个100的低函数
B 50在较低的功能
2.Enclosing function locals作用域
a=123
定义函数():
a=100
打印(一份)
打印(一份)
函数()
打印(一份)
a=123
定义函数():
Global #您不能在这里使用非本地。
a=100
打印(一份)
Print (locales ()) #查看局部变量
Print(globals()) #查看全局变量
打印(一份)
函数()
打印(一份)
3.Global全局变量
定义函数5():
b=50
打印(b)
定义函数6():
非局部b #是非局部的,只适用于闭包的内部。
b=60
打印(b)
func6()
打印(b)
func5()
4.非局部变量nonlocal
b=1111
定义函数5():
b=50
打印(b)
定义函数6():
b=60
Print(b) #这里从里到外搜索B。
func6()
打印(b)
func5()
a=100
定义函数5():
b=50
打印(一份)
打印(b)
定义函数6():
b=60
打印(b)
打印(一份)
func5()
5.就近原则
a=123
定义函数1():
打印(一份)
打印(b)
Func1() #不能打印b
b=456
Func1() #可以打印b。
6.函数执行顺序
如果为真:
a=100
打印(一份)
对于(1,10):范围内的I
打印(一)
打印(一)
循环代码块中没有范围。
关于Python函数命名空间和作用域(局部和全局)的这篇文章到此为止。关于Python命名空间和作用域的更多信息,请搜索热门IT软件开发工作室之前的文章,或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。