函数对象
函数是第一类对象: 指的是函数名指向的值(函数)可以被当作数据去使用
 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中strlen和mb_strlen的区别

    在PHP中,strlen与mb_strlen是求字符串长度的函数,下面通过例子,讲解这两者之间的区别. <?php //测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo ...

  2. C# 中数据类型以及结构

    值类型:int.double.char.bool...,结构. 引用类型:类(string).接口.数组 Class1.cs using System; using System.Collection ...

  3. MVC4.0,并完美结合Razor引擎

    本文主要解决“当前上下文不存在ViewBag”的问题, 在View视图实际使用过程中,如果引用不正确会提示“当前上下文不存在ViewBag”,首先需要引入“Microsoft.CSharp”类库 然后 ...

  4. error: C++ preprocessor "/lib/cpp" fails sanity check错误解决方法

    error: C++ preprocessor "/lib/cpp" fails sanity check 问题的解决 问题的根源是缺少必要的C++库.如果是CentOS系统,运行 ...

  5. piwik获取访客头像,自定义显示访问者头像(URL)和描述(标题和替代)

    访客头像 自定义显示访问者头像(URL)和描述(标题和替代) 链接地址:https://plugins.matomo.org/VisitorAvatar#description

  6. 基于selector的socket并发

    server: #!_*_coding:utf-8_*_ #__author__:"Alex huang" import selectors #selector模块集成了selec ...

  7. Maya中输出nuke脚本的方法

    因项目需要,三维部门跟踪组动画组都需要一个能够快速输出nuke预合成工程的脚本.脚本已经写完,源码不便于放出来,写一个大致思路吧. 我首先分析了nuke工程,内部包含了哪些节点,这些节点有哪些属性需要 ...

  8. Flutter at Google I/O 2018

    Flutter at Google I/O 2018   如何观看 https://flutterchina.club/ 极速构建漂亮的原生应用 Flutter是谷歌的移动UI框架,可以快速在iOS和 ...

  9. ALGO-123_蓝桥杯_算法训练_A+B problem

    问题描述 Given two integers A and B, your task is to output their sum, A+B. 输入格式 The input contains of o ...

  10. C/C++基础--模板与泛型编程

    模板参数 函数模板,编译器根据实参来为我们推断模板实参. 模板中可以定义非类型参数,表示一个值而非一个类型,这些值必须是常量表达式,从而允许编译器在编译时实例化模板. 非类型参数可以是整型,或者一个指 ...