函数对象
函数是第一类对象: 指的是函数名指向的值(函数)可以被当作数据去使用
 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. centos安装netcat

    Linux安装swoole后,测试UDP服务需要用到netcat,然而百度了很多安装方法,并没有一个好用的.几经尝试,终于安装成功,现在就分享给大家,以供参考. 配置环境:centos6.3 1.下载 ...

  2. Hadoop HDFS NameNode工作机制

    Secondary namenode 首先,我们假设如果存储在Namenode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低.因此,元数据需要存放在内存中.但如果只存在内存中 ...

  3. cat命令详解

    命令cat cat 命令用于连接文件并打印到标准输出设备上 语法格式: cat [-AbeEnstTuv] [--help] [--version] fileName 参数说明: -n 或 --num ...

  4. 一个简单的PHP短信群发

    function bulksms(){ ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0);// 通过set_time_limit( ...

  5. pandas的离散化,面元划分

    pd.cut pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=, include_lowest=False) ...

  6. Redis集群事物提交异常Multi-key operations must involve a single slot

    redis做完集群后不同键在同一事物中提交,因为key的hash计算结果不同不能分配到同一个分片上,因此出现此异常. 解决方案:在本次事物的key内添加"{tag}",这时redi ...

  7. C语言中sizeof与strlen的区别

    1.sizeof sizeof为编译时期被替换,不会等到程序运行再来判断,所以sizeof返回的是数组的总字节数 #include<stdio.h> int main() { ]={'a' ...

  8. unittest框架 assertEqual 报错 让其出现中文的方法(这个问题出现时 我找了老半天) 还追加了 报错信息自定义的方法

    1,发现如果assertEqual里面放的是变量,不会展示中文出来 2,放的是中文(注意前面加u)就可以展示中文出来 改进后的方法:(可以放入变量去对比还可以展示中文的方法)

  9. 解决python中路径中包含中文无法找到文件的问题

    a="C:\Users\Dell\Desktop\ATOU\公共测试用例" (带中文的路径) a=a.decode("utf-8").encode(" ...

  10. Scala函数式对象-有理数

    有理数类的表示 实现规范:支持有理数的加减乘除,并支持有理数的规范表示 1.定义Rational 首先,考虑用户如何使用这个类,我们已经决定使用“Immutable”方式来使用Rational对象,我 ...