当前位置: 首页 > news >正文

网站制作客户寻找西安 北郊网站建设

网站制作客户寻找,西安 北郊网站建设,网站建设安排总结,厦门做网站seoPython之函数进阶-nonlocal和LEGB nonlocal语句 nonlocal:将变量标记为不在本地作用域定义#xff0c;而是在上级的某一级局部作用域中定义#xff0c;但不能是全局作用域中定义。 函数的销毁 定义一个函数就是生成一个函数对象#xff0c;函数名指向的就是函数对象。可…Python之函数进阶-nonlocal和LEGB nonlocal语句 nonlocal:将变量标记为不在本地作用域定义而是在上级的某一级局部作用域中定义但不能是全局作用域中定义。 函数的销毁 定义一个函数就是生成一个函数对象函数名指向的就是函数对象。可以使用del语句删除函数使其引用计数减1。可以使用同名标识符覆盖原有定义本质上也是使其引用计数减1。Python程序结束时所有对象销毁。函数也是对象也不例外是否销毁还是看引用计数是否减为0。 变量名解析原则LEGB Local本地作用域、局部作用域的local命名空间。函数调用时创建调用结束消亡EnclosingPython2.2时引入了嵌套函数实现了闭包这个就是嵌套函数的外部函数的命名空间Global全局作用域即一个模块的命名空间。模块被import时创建解释器退出时消亡Build-in内置模块的命名空间生命周期从python解释器启动时创建到解释器退出时消亡。例如 print(open)print和open都是内置的变量 图一LEGB def inc():c 0def inner():c 1return creturn innerf inc() print(1, f()) print(2, f())# 报错原因inner中c 操作是inner函数中的c因为没有定义inner中的c变量所以不能用。 # 报错内容UnboundLocalError: cannot access local variable c where it is not associated with a valuedef inc():c 0 # 自由变量局部变量def inner():global cc 1return creturn innerf inc() print(1, f()) print(2, f())# 报错原因inner定义了global c但是python全局中没有c变量 # 报错内容NameError: name c is not defineddef inc():global cc 0 # 自由变量局部变量def inner():global cc 1return creturn innerf inc() print(1, f()) print(2, f())# inc中和inner中都必须定义global才能使用 # 返回结果1 1 # 返回结果2 2c# 返回结果2del c# 删除变量cdef inc():c 0 # 自由变量局部变量def inner():nonlocal c # nonlocal c表示不是inner的c那就是inc的c c 1 # 闭包在c 1这里因为这个c不是inner的是它上一层inc的c所以需要闭包return creturn innerf inc() print(1, f()) print(2, f())# 返回结果1 1 # 返回结果2 2def a():nonlocal cc 100 print(a())# 报错原因nonlocal c不是本函数的c只能向上一层函数找但是在上一层就是global了nonlocal不允许在global中使用。 # 报错内容SyntaxError: no binding for nonlocal c founddef inc():a 1000 c 0def inner():nonlocal cc 1return creturn innerf inc() print(1, f()) print(2, f())# 此代码主要说明a没有闭包因为在嵌套函数inner中没有使用到adef inc():a 1000 c 0def inner():nonlocal cc 1return cdef t():nonlocal aprint(a)print(t.__closure__)return innerreturn tf inc() print(1, f()) print(2, f())# 此代码中a和c都用到了闭包因为函数inner用了c函数t用了ac 0 def a():c 1def b():c 2def c():c 3print(c)# 闭包遵循就近原则此代码为例如函数c的c变量注释掉打印的c就是函数中的c以此类推。
http://www.pierceye.com/news/69209/

相关文章:

  • 网站职业技能培训有哪些项目网站域名申请好了怎么建设网站
  • 汾阳做网站的公司替代wordpress 搜索引擎
  • 58做网站做网站和维护要多少钱
  • 哪种编程语言可以做网站互联网怎么做网站
  • 密云上海网站建设有经验的佛山网站建设
  • 焦作网站设计多少钱合肥网站建设百姓网
  • 如何在国外做网站中国建设网站的证件怎么查
  • 微网站开发平台网站新媒体建设方案
  • 外链是不是把自己的网站信息发布到别人的网站上?平湖网站建设流程
  • 广州 网站 建设国家企业信用公示信息年报全国
  • 做好三步网站改版工具不降权 无忧老师给wordpress配置域名
  • 平台网站建设教程视频模板网站配置文件
  • 2017网站开发兼职wordpress+andriod
  • 用html做的网站步骤金华seo
  • 建站平台做的网站google成都响应式网站
  • 合肥网站设计服现在开天猫店需要多少钱
  • 网站网站开发的广州网站建设知名 乐云践新
  • 好的网站建设公司排名西安网络公司排名
  • 网站能搜索到做器材的网站
  • 邢台网站推广专业服务泰安二手房最新发布出售房源
  • 中国贸易网站建设个普通的网站得多少钱
  • 企业网站建设程序唐山市网站建设
  • 用discuz做的门户网站wordpress 插件反复安装
  • 网站做电源wordpress 添加模板
  • 各大网站收录查询网站设计中 查询怎么做
  • 超轻粘土做动漫网站行业网站盈利模式
  • 邵阳网站推广朝阳做网站公司
  • 企业网站建设一站式服务公司提供平台
  • 河北响应式网站建设平台导视设计ppt
  • 买的服务器做两个网站seo监控系统