• python学习之路——命名关键字参数、函数对象、函数嵌套、名称空间与作用域、闭包函数


    命名关键字参数:在定义函数时,*与**之间参数称之为命名关键字参数

    特点:在调用函数时,命名关键字参数必须按照key=value的形式传值

    函数对象

    函数是第一类对象:指的是函数的内存地址可以像一个变量值一样去使用

    1.变量值可以被引用

    2.变量值可以当作参数传给另外一个函数

    3.变量值可以当作函数的返回值

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

    函数嵌套

    函数的嵌套调用:在一个函数内部又调用其它函数

    函数的嵌套定义:在函数内又定义了其他函数

    一 、名称空间相关

    1.名称空间Namespaces:指的就是存放名字与值内存地址绑定关系的地方(内存空间)

    2.名称空间分为三大类

      内置名称空间:存放的是python解释器自带的名字

        产生:python解释器的启动则产生

        销毁:python解释器关闭则销毁

    全局名称空间:在顶级定义的名字

      产生:执行python程序时产生

      销毁:python程序执行完毕后则销毁

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

      产生:在函数调用时临时产生

      销毁:在函数调用完毕后则销毁

    三种名称空间的产生的先后顺序:内置——全局——局部

    查找名字的顺序:从当前位置往外一层一层查找

      如果当前在局部名称空间:局部——全局——内置

      如果当前在全局名称空间:全局——内置

    二、作用域:指的是作用范围

      全局作用域:包含内置与全局名称空间的名字

        特点:全局存活,全局有效

      局部作用域:包含局部名称空间的名字

        特点:临时存活,局部有效

    作用域关系是在函数定义阶段就已经固定死了,与调用位置无关

    闭包函数:

    闭:封闭,指的是该函数是定义一个函数内部的函数

    包:该内部函数包含对外层函数名字的引用

    为函数体传值的两种方式:

      方式一:直接以参数的形式传入

      方式二:闭包函数

  • 相关阅读:
    费用流
    平面最近点对
    纸牌均分问题
    cdq分治模板
    费解的开关
    斐波那契和排列组合性质
    主席树
    Springboot使用EasyExcel(仅限自己收藏)
    vue项目中h5移动端中通过flex布局实现首尾固定,中间滚动(借鉴)
    vue路由参数的获取、添加和替换
  • 原文地址:https://www.cnblogs.com/unbrokenlin/p/9709789.html
Copyright © 2020-2023  润新知