day23笔记

一、函数对象

什么是函数

函数是一类对象,函数是第一等公民,通俗来说函数就是当变量来用

 

1.函数可以被赋值

View Code

2.函数可以当作参数传给另一个函数

View Code

3.函数可以当作函数的返回值

View Code

4.函数可以当作容器类型的元素

View Code

 

二、函数嵌套

函数的嵌套定义:在函数内又定义了其他函数------------->封闭

View Code

函数的嵌套调用:在调用一个函数的过程中,该函数内部又调用了其他函数

View Code

三、名称空间与作用域

名称空间Namespace: 存放名字与内存地址绑定关系的地方

1.内置名称空间(只有一个)

内置名称空间:放的是python自带的名字,print\len\input...
  生命周期:解释器启动则产生,解释器关闭则销毁

2.全局名称空间(只有一个)

全局名称空间:放的是顶级的名字(顶头定义的变量,函数名)
  生命周期:运行python文件则立即产生,python文件运行完毕则结束

View Code

3.局部名称空间(可以有多个)

局部名称空间:放的是函数内的名字.
  生命周期:调用函数则产生,函数调用完毕则销毁

 

结论1: 名字的查找优先级
局部-》全局-》内置
基于自己当前所在的位置向外查找,LEGB

View Code

结论2: 名称空间的嵌套关系是以函数定义为准生成的,与调用位置无关

View Code

4.全局作用域

全局作用域:内置名称空间,全局名称空间
    特点:全局存活,全局有效

5.局部作用域

局部作用域:局部名称空间
    特点:临时存活,局部有效

6.补充

global关键字:声明一个名字,直接作用于全局

nonlocal关键值:声明一个名字来自于外层函数,如果外层没有不会找到全局,会报错

 三、闭包函数

闭包函数=函数对象+函数嵌套定义+名称空间与作用域

1.闭函数:定义在函数内部的函数

2.包函数:内部函数引用了一个外层函数的名字

View Code

 

四、内置函数

 help

locals

max

min

reversed

round

slice

sorted

zip

_improt_()

posted @ 2021-06-30 18:37  Gnomeshghy  阅读(30)  评论(0)    收藏  举报