函数对象
函数是第一类对象: 指的是函数名指向的值(函数)可以被当作数据去使用
 1. 可以被引用
 2. 可以当作参数传给另外一个函数
 3. 可以当作一个函数的返回值
 4. 可以当作容器类型的元素   l=[age,func,func()]
函数嵌套分为两大类
 一:函数的嵌套调用:在调用一个函数过程中,其内部代码又调用了其他函数
 二:函数的嵌套定义:一个函数内部又定义了另外一个函数
名称空间与作业域
 1 什么是名称空间  namespace
  名称空间就是用来存放名字与值内存地址绑定关系的地方(内存空间
  但凡查找值一定要通过名字,访问名字必需去查找名称空间
 2 名称空间分为三大类
  内置名称空间:存放的是python解释器自带的名字
  全局名称空间:存放的是文件级别的名字
  局部名称空间:在函数内定义的名字
 生命周期:
        内置名称空间:在解释器启动时则生效,解释器关闭则失效
        全局名称空间:在解释器解释执行python文件时则生效,文件执行完毕后则失效
        局部名称空间:只在调用函数时临时产生该函数的局部名称空间,改函数调用完毕则失效
 加载顺序:
        内置->全局->局部
 查找名字的顺序:
        基于当前所在位置往上查找
            假设当前站在局部,查找顺序:局部->全局->内置
            假设当前站在全局,查找顺序:全局->内置
******名字的查找顺序,在函数定义阶段就已经固定死了(即在检测语法时就已经确定了名字的查找顺序),与函数的调
  用位置无关,也就是说无论在任何地方调用函数,都必须回到当初定义函数的位置去确定名字的查找关系.
作用域:域指的是范围,作用域指的就是作用的范围,分为两种
 全局作用域:包含的是内置名称空间与全局名称空间中的名字
  特点:全局有效,全局存活
 局部作用域:包含的是局部名称空间中的名字
  特点:局部有效,临时存活
 global:在局部声明一个名字是来自于全局作用域的,可以用来在局部修改全局的不可变类型
 nonlocal:声明一个名字是来自于当前层外一层作用域的,可以用来在局部修改外层函数的不可变类型
闭包函数
 1 什么是闭包函数
    闭:指的是闭包函数是定义在一个函数内部的函数
    包:该内部函数包含对外层函数作用域名字的引用
 需要结合函数对象的概念将闭包函数返回到全局作用域去使用,从而打破函数的层级限制
 2 为何要用闭包函数
    闭包函数提供了一种为函数体传值的解决方案
 为函数体传值的方式二:闭包
def outter(x,y):
     # x=1
     # y=2
    def func():
         print(x+y)
    return func
f=outter(1,2)

day10学习笔记整理的更多相关文章

  1. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  2. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  3. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  4. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  5. Deep Learning(深度学习)学习笔记整理系列之(六)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  6. Deep Learning(深度学习)学习笔记整理系列之(四)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  7. Deep Learning(深度学习)学习笔记整理系列之(三)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(一)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0  2013-0 ...

随机推荐

  1. PHP socket 服务器框架集

    1.Swoole:重新定义PHP PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时 ...

  2. SmartGit过期解决办法

    1. 快捷键win+R ,输入:%APPDATA%\syntevo\SmartGit\2. 进入smart的版本 如18.1 然后删除setting.xml文件

  3. 语义分析之ansj_seg+word2vec的使用

    语义分析,我是一个初学者,有很多东西,需要理论和实践结合后,才能理解的相对清楚. 今天,我就在语义理解中基于背景语料的情况,实现语义上下文的预测,比如,我说“王宝强”,你会想到什么?别告诉没有“马蓉” ...

  4. Jquery模板-----JsRender

    重新排版与堂堂88 先看下简单示例: <script type="type='text/html'" id="jianren"> <div c ...

  5. WINDOWS 命令行 串口 COM 发送数据

    WINDOWS 命令 串口 数据 type con>com1 回车. com1 为想发送的串口. 输入字符并回车即可.

  6. 两招解决异常_Cannot find any information on property 'XXX' in a bean of type 'XXX'的问题

    第一招 在进行Java Web项目开发的时候,我碰到过下面这个异常: Cannot find any information on property 'XXX' in a bean of type ' ...

  7. eclipse基于git上传项目到码云上

    此文章只讲如何把项目上传到码云上面,前提是你的项目已经用git创建好了. 关于如何用git创建项目,请读者见我博客的另一篇文章. 继续:右键点击ssm [ssm master]项目-->选择Te ...

  8. ALGO-13_蓝桥杯_算法训练_拦截导弹(贪心,DP)

    问题描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...

  9. Netty Tutorial Part 1.5: On Channel Handlers and Channel Options [z]

    Intro: After some feedback on Part 1, and being prompted by some stackoverflow questions, I want to ...

  10. 【剑指offer】字符串替换

    请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. *StringBuffer 扩容 str ...