day11

今日内容:

一、命名关键字参数: 在定义函数时,*与**之间参数称之为命名关键字参数

 特点:在调用函数时,命名关键字参数必须按照key=value的形式传值

二:函数对象

函数是第一类对象: 指的是函数的内存地址可以像一个变量值一样去使用

1. 变量值可以被引用

2. 变量值可以当作参数传给另外一个函数

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

4. 变量值可以当作容器类型的元素

函数的嵌套调用:在一个函数内部又调用其他函数

函数的嵌套定义: 在函数内又定义了其他函数

名称空间及作用域:

1. 名称空间Namespaces:指的就是存放名字与值内存地址绑定关系的地方(内存空间)

2. 名称空间分为三大类
内置名称空间: 存放的是python解释器自带的名字
产生:python解释器的启动则产生
销毁:python解释器关闭则销毁

全局名称空间: 在顶级定义的名字

产生:执行python程序时产生
销毁:python程序执行完毕后则销毁

局部名称空间: 在函数内定义的名字

产生: 在函数调用时临时产生
销毁: 在函数调用完毕后则销毁

三种名称空间的产生的先后顺序: 内置->全局->局部
查找名字的顺序:从当前位置往外一层一层查找
如果当前在局部名称空间: 局部->全局->内置
如果当前在全局名称空间: 全局->内置

作用域:

全局作用域:包含的是内置名称空间与全局名称空间的名字,
特点
1、在任何位置都能够访问的到
2、该范围内的名字会伴随程序整个生命周期

局部作用域:包含的是局部名称空间的名字
特点:
1、只能在函数内使用
2、调用函数时生效,调用结束失效

闭包函数:
闭:封闭,指的是该函数是定义一个函数内部的函数
包:该内部函数包含对外层函数名字的引用


为函数体传值的两种方式:

方式一:直接以参数的形式传入

方式二:闭包函数 

posted @ 2018-09-26 21:17  endlesswaltz  阅读(69)  评论(0编辑  收藏  举报