一 函数对象 一 函数是第一类对象,即函数可以当作数据传递 二 利用该特性,优雅的取代多分支的if 二 函数嵌套 三 名称空间与作用域 一 什么是名称空间? 二 名称空间的加载顺序 三 名字的查找顺序 四 作用域 五 global与nonlocal关键字 四 闭包函数 一 什么是闭包? 二 闭包的意 ...
分类:
其他好文 时间:
2018-01-01 20:38:04
阅读次数:
167
函数的嵌套定义 ①内部函数可以使用外部函数的变量 作用域链 在内部函数使用变量时,是从小局部到大局部到全局到内置名字的过程中一级一级网上找,找到最近的一个就使用 nonlocal a 声明一个上层局部变量,往上走一级离得最近并且有a 1、对全局无效 2、对局部的最近的一层产生影响 闭包嵌套函数,内部 ...
分类:
其他好文 时间:
2017-12-28 00:04:33
阅读次数:
137
一 函数对象 1、函数是第一类对象,即函数可以当作数据传递 2、利用该特性,优雅的取代多分支的if 二 函数嵌套 1、函数的嵌套调用 2、函数的嵌套定义 三 名称空间与作用域 1、什么是名称空间? 2、名称空间的加载顺序 3、名字的查找顺序 4、作用域 5、global与nonlocal关键字 四 ...
分类:
其他好文 时间:
2017-12-21 21:47:01
阅读次数:
140
知识点: global将一个变量变为全局变量 nonlocal改变最近的变量,又不是全局作用。 1.global 在python中,当引用一个变量的时候,对这个变量的搜索按找本地作用域(Local)、嵌套作用域(Encolosing function locals)、全局作用域(Global)、内置 ...
分类:
编程语言 时间:
2017-11-17 18:32:36
阅读次数:
161
# 1 关于 globals() locals() nolocl 还有内置函数的引用## 概念的解释# 命名空间# 1 局部命名空间:每一个函数都有自己的命名空间# 2 全局命名空间:写在函数外的变量名# 3 内置命名空间:pythong 解释器启动之后就可以使用的名字## 作用域: 一个名字使用的 ...
分类:
其他好文 时间:
2017-11-10 20:31:52
阅读次数:
154
闭包概念 闭包优缺点 python3 内部函数改变外部参数值 python2 中要想在闭包中改变参数的值,要借助于可变类型的列表,将参数放在列表的中,对列表内部元素执行改变操作 ...
分类:
编程语言 时间:
2017-11-06 22:52:26
阅读次数:
260
内嵌函数:在函数内部再定义一个函数(此概念仅用于引出闭包) 闭包closure:(举例说明) i的类型相当于FunY,i(5)相当于FunY(5) 对于Fun2(),Fun1()里的x不可见,故报错。可以使用nonlocal关键字引入到Fun2()中,类似于gobal关键字。 另一种方法:使用类的概 ...
分类:
其他好文 时间:
2017-11-02 22:00:50
阅读次数:
148
一、函数的命名空间 命名空间:name space是从名称(name)到对象(object)上的映射。 当一个name映射到一个object上时,这个name和这个object就有了绑定(bind)关系,或者说这个name指向了这个object。 每个name只对应一个object,而一个objec ...
分类:
其他好文 时间:
2017-11-01 17:52:36
阅读次数:
149
在Python中,当引用一个变量的时候,对这个变量的搜索是按找本地作用域(Local)、嵌套作用域(Enclosing function locals)、全局作用域(Global)、内置作用域(builtins模块)的顺序来进行的,即所谓的LEGB规则。 然而当在一个函数内部为一个变量赋值时,并不是 ...
分类:
编程语言 时间:
2017-10-10 23:10:24
阅读次数:
215
原文 域和作用空间 本地域,函数域(nonlocal)和 全局域(global) def scope_test(): def do_local(): spam = "local spam" def do_nonlocal(): nonlocal spam spam = "nonlocal spam" ...
分类:
编程语言 时间:
2017-10-02 23:06:58
阅读次数:
289