zoukankan      html  css  js  c++  java
  • 第十天笔记

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

  • 相关阅读:
    JFreeChart生成图片
    itext生成Word
    itext生成PDF
    物理模型name与comment互相转化
    表单序列化为Json(只限input)
    c#多线程同步之EventWaitHandle的应用
    C#多线程之异步编程
    Java环境变量设置
    sharepoint 2013实践
    WPF研究之道——数据驱动UI
  • 原文地址:https://www.cnblogs.com/zhouhao123/p/9456271.html
Copyright © 2011-2022 走看看