Python函数(二)

一.函数对象

  函数是第一类对象:指的是函数名指向的值可以被当作数据去使用.

  1.函数可以被引用

  例如:

  

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

  例如:

  

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

  例如:

  

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

  例如:

  

二.函数嵌套

  函数嵌套分为两大类

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

  例如:

  

  2.函数的嵌套定义:在一个函数内部又定义其他函数

  

三.名称空间与作用域

名称空间:

  名称空间是用来存放名字与值内存地址绑定关系的内部地址,但凡查找值一定要通过名字,访问名字必须去查找名称空间

  名称空间分为三大类:

    内置名称空间:存放的是python解释器自带的名字,如:len,max,print...

    全局名称空间:存放的是文件级别的名字(没有缩进级别的所有名字)

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

  名称空间的生命周期:

    内置名称空间:在解释器启动时则生效,解释器关闭则失效
    全局名称空间:在解释器解释执行python时则生效,文件执行完毕后则失效
    局部名称空间:只在调用函数时临时产生该函数的局部名称空间,该函数调用完毕则失效

  名称空间的加载顺序:

    内置名称空间---->全局名称空间---->局部名称空间

  查找名称空间的顺序:

    基于当前所处位置往上查找

    假设当前在局部名称空间,查找顺序:局部名称空间---->全局名称空间---->内置名称空间

作用域
  域:指的是范围作用域指的是作用的范围,分为两种
  全局作用域:包含的是内置名称空间与全局名称空间中的名字
  特点:全局有效,全局存活

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

猜你喜欢

转载自www.cnblogs.com/louyefeng/p/9399252.html