今日内容:
一、命名关键字参数: 在定义函数时,*与**之间参数称之为命名关键字参数
特点:在调用函数时,命名关键字参数必须按照key=value的形式传值
二:函数对象
函数是第一类对象: 指的是函数的内存地址可以像一个变量值一样去使用
1. 变量值可以被引用
2. 变量值可以当作参数传给另外一个函数
3. 变量值可以当作函数的返回值
4. 变量值可以当作容器类型的元素
函数的嵌套调用:在一个函数内部又调用其他函数
函数的嵌套定义: 在函数内又定义了其他函数
名称空间及作用域:
1. 名称空间Namespaces:指的就是存放名字与值内存地址绑定关系的地方(内存空间)
2. 名称空间分为三大类
内置名称空间: 存放的是python解释器自带的名字
产生:python解释器的启动则产生
销毁:python解释器关闭则销毁
全局名称空间: 在顶级定义的名字
产生:执行python程序时产生
销毁:python程序执行完毕后则销毁
局部名称空间: 在函数内定义的名字
产生: 在函数调用时临时产生
销毁: 在函数调用完毕后则销毁
三种名称空间的产生的先后顺序: 内置->全局->局部
查找名字的顺序:从当前位置往外一层一层查找
如果当前在局部名称空间: 局部->全局->内置
如果当前在全局名称空间: 全局->内置
作用域:
全局作用域:包含的是内置名称空间与全局名称空间的名字,
特点
1、在任何位置都能够访问的到
2、该范围内的名字会伴随程序整个生命周期
局部作用域:包含的是局部名称空间的名字
特点:
1、只能在函数内使用
2、调用函数时生效,调用结束失效
闭包函数:
闭:封闭,指的是该函数是定义一个函数内部的函数
包:该内部函数包含对外层函数名字的引用
为函数体传值的两种方式:
方式一:直接以参数的形式传入
方式二:闭包函数