美文网首页
函数作用域LEGB

函数作用域LEGB

作者: 原来不语 | 来源:发表于2018-03-20 18:15 被阅读0次

L>E>G>B
L:local 函数内部作用域
E:enclosing函数内部与内嵌函数之间
G:global 全局作用域
B:build-in 内置作用域(列表,元组,)


image.png

image.png

闭包:Closure:内部函数中对enclosing作用域的变量进行引用

函数实质与属性:
1:函数是一个对象
2:函数执行完成后内部变量回收
3:函数属性
4:函数返回值(返回的话不会被回收)


image.png
image.png

闭包主要实现了代码的封装和复用


image.png
使用Python闭包。必须满足以下三个条件:

我们必须有一个嵌套函数。
这个嵌套函数必须引用一个非局部变量(包含它的范围内的变量)。
封闭范围必须返回此功能。

装饰器

1:装饰器用来装饰函数
2:返回一个函数对象
3:被装饰函数标识符指向返回的函数对象
4:语法糖 @dec

image.png

@dec 作用等于my_sum= dec(my_sum)

image.png

相关文章

  • Python函数

    函数作用域LEGB LEGB:L>E>G>B 闭包 Closure:内部函数中对enclosing作用域的变量进行...

  • 函数作用域LEGB

    L>E>G>BL:local 函数内部作用域E:enclosing函数内部与内嵌函数之间G:global 全局作用...

  • python闭包和装饰器

    一、python函数作用域LEGB python解释器查找变量的原则(顺序):L→E→G→BL:Local函数内部...

  • python——作用域和给对象及类添加属性和方法

    作用域 命名空间 变量或函数生效的范围 globals、locals LEGB规则locals(当前命名空间) ...

  • Python高级编程之装饰器(一)

    请移步:https://vergilben.top/ Python高级编程之装饰器(一) 1、函数作用域LEGB ...

  • python的作用域

    前言  作用域是程序运行时变量可被访问的范围。 作用域  python变量的作用域很简单,就是LEGB:变量名引用...

  • JavaScript 作用域和闭包理解

    作用域: 分为函数作用域,和块级作用域; 函数作用域 函数作用域外面的无法访问函数作用域内部的变量和函数,这样就可...

  • Python 关键知识4:闭包

    变量作用域 从内层函数的角度看,变量使用的两个维度 是否能访问:LEGB 规则 是否能修改:需要声明才能修改 变量...

  • JS的作用域

    JS的作用域: 全局作用域、函数作用域、eval 作用域、块级作用域 全局作用域: 函数作用域: 结果截屏: 说...

  • Python 作用域和 LEGB

    约束 名字空间 作用域 之间的那些事 不管在什么编程语言, 都有作用域这个概念.作用域控制在它范围内代码的生存周期...

网友评论

      本文标题:函数作用域LEGB

      本文链接:https://www.haomeiwen.com/subject/qxbbqftx.html