day23笔记
一、函数对象
什么是函数
函数是一类对象,函数是第一等公民,通俗来说函数就是当变量来用
1.函数可以被赋值
View Code2.函数可以当作参数传给另一个函数
View Code3.函数可以当作函数的返回值
View Code4.函数可以当作容器类型的元素
View Code
二、函数嵌套
函数的嵌套定义:在函数内又定义了其他函数------------->封闭
View Code函数的嵌套调用:在调用一个函数的过程中,该函数内部又调用了其他函数
View Code三、名称空间与作用域
名称空间Namespace: 存放名字与内存地址绑定关系的地方
1.内置名称空间(只有一个)
内置名称空间:放的是python自带的名字,print\len\input...
生命周期:解释器启动则产生,解释器关闭则销毁
2.全局名称空间(只有一个)
全局名称空间:放的是顶级的名字(顶头定义的变量,函数名)
生命周期:运行python文件则立即产生,python文件运行完毕则结束
View Code3.局部名称空间(可以有多个)
局部名称空间:放的是函数内的名字.
生命周期:调用函数则产生,函数调用完毕则销毁
结论1: 名字的查找优先级
局部-》全局-》内置
基于自己当前所在的位置向外查找,LEGB
View Code结论2: 名称空间的嵌套关系是以函数定义为准生成的,与调用位置无关
View Code4.全局作用域
全局作用域:内置名称空间,全局名称空间
特点:全局存活,全局有效
5.局部作用域
局部作用域:局部名称空间
特点:临时存活,局部有效
6.补充
global关键字:声明一个名字,直接作用于全局
nonlocal关键值:声明一个名字来自于外层函数,如果外层没有不会找到全局,会报错
三、闭包函数
闭包函数=函数对象+函数嵌套定义+名称空间与作用域
1.闭函数:定义在函数内部的函数
2.包函数:内部函数引用了一个外层函数的名字
View Code
四、内置函数
help
locals
max
min
reversed
round
slice
sorted
zip
_improt_()

浙公网安备 33010602011771号