
Python已成为人工智能时代最受欢迎的编程语言,吸引了很多专业以及非专业人士的关注。在进行Python基础学习时,人们都会接触到作用域。什么是作用域?Python作用域包含哪些知识点呢?今天就来给大家介绍一下如何学习作用域。
作用域是什么?
作用域(Scope)是Python程序的一块文本区域(textual region),在该文本区域中,对namespace是可以直接访问,而不需要通过属性来访问,Scope是定义程序该如何搜索确切地“名字-对象”的名空间的层级关系。Python中有四个作用域:局部作用域Local、嵌套函数(闭包)作用域Enclosing、全局作用域 Global、内置作用域 Built-in。
Python作用域搜索顺序遵循LEGB规则搜,Local -> Enclosing -> Global -> Built-in即:L>E>G>B。当有一个变量在local域中找不到时,Python会找上一层的作用域,即 enclosing 域(该域不一定存在)。enclosing 域还找不到的时候,再往上一层,搜索模块内的 global 域。最后,会在 built-in 域中搜索。对于最终没有搜索到时,Python会抛出一个 Name Error 异常。需要注意的是,作用域可以嵌套,如没创建一个对象都有一个作用域,对象中再创建对象。
如何理解Python中变量的作用域?
1)理解全局变量和局部变量。定义的函数内部的变量名如果是第一次出现, 且在=符号前,那么就可以认为是被定义为局部变量。在这种情况下,不论全局变量中是否用到该变量名,函数中使用的都是局部变量;
2)函数内部的变量名如果是第一次出现,且出现在=符号后面,且在之前已被定义为全局变量,则这里将引用全局变量;
3)函数中使用某个变量时,如果该变量名既有全局变量也有局部变量,则默认使用局部变量;
4)在函数中将某个变量定义为全局变量时需要使用关键字global。
本文由培训无忧网千锋教育专属课程顾问整理发布,更多Python开发培训课程欢迎关注培训无忧网Python开发频道或添加老师微信:15033336050
注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-14197.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注python培训频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050