zoukankan      html  css  js  c++  java
  • Python函数(2)

    一.函数对象

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

      1.函数可以被引用

      例如:

      

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

      例如:

      

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

      例如:

      

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

      例如:

      

    二.函数嵌套

      函数嵌套分为两大类

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

      例如:

      

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

      

    三.名称空间与作用域

    名称空间:

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

      名称空间分为三大类:

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

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

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

      名称空间的生命周期:

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

      名称空间的加载顺序:

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

      查找名称空间的顺序:

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

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

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

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

  • 相关阅读:
    中国百年校服史:青春飞扬的几代人[转]
    关于五笔和拼音输入法的最本质区别
    Windows Mobile device 开发详解..
    生成目录树
    安装CE 6.0和VS2005出现的两个问题解决
    在c与c++下struct的区别,已经在c++下struct与class的区别。
    一招克死所有病毒!上网不用防火墙.不看后悔哟
    VC解析XML文件
    pythonday1笔记
    an error occurred while completing process java.lang.reflect.InvocationTargetEx
  • 原文地址:https://www.cnblogs.com/louyefeng/p/9399252.html
Copyright © 2011-2022 走看看