• 关键字参数、函数对象、嵌套、命名空间、作用域


    函数2

    命名关键字参数

    函数定义阶段,写在*和**之间的形参

    注意

    • a.只能用关键字为其传值

    • b.m和z=3位置可以互换,不报错

    • c,z和m都是关键字参数,不是默认值参数和位置参数

    函数对象

    1.函数可以被传递(可以理解为链式赋值)

    2.函数可以被当做参数传递给其他函数

    • 在一个函数的代码块内执行一个函数1, 函数1是可以被执行的

    3.函数名可以被当做函数的返回值

    • 返回值被变量a就收之后, a()的方式仍然可以执行函数体内的代码块

    4.函数名可以被当做容器类型的参数

    • 只要有函数名+()的形式, 其他的都暂停执行,先执行函数

    函数嵌套

    意思就是在函数内调用其他函数

    作用是:可以将复杂的逻辑简单化

    嵌套调用

    • 就是说定义两个函数, 在一个函数内部,直接调用另一个函数

    嵌套定义

    • 就是说在一个函数内部定义函数

    作用域

    global:局部修改全局 如果想修改多个 逗号隔开

    nonlocal:局部修局部 如果想修改多个 逗号隔开

    命名空间

    含义

    • 详细解释:存放的是变量名与变量值的内存地址得绑定关系的地方

    要想访问一个变量的值 必须先去名称空间中拿到对应的名字 才能够访问变量的值

    分开解释

    • 内置名称空间:python解释器提前给你定义好的名字(已经存放到内置名称空间中了)。 打开Python解释器时创建的

    • 全局名称空间:文件级别的代码 例如:if for while 无论嵌套多少层 它们内部所创建的名字都是全局名称空间的

    • 局部名称空间: 例如 函数体内创建的名字都属于局部名称空间

    取值顺序

    • 在局部调用:局部命名空间->全局命名空间->内置命名空间

    • 在全局调用:全局命名空间->内置命名空间

    生命周期

    • 1.内置名称空间:只要python解释器已启动立马创建 关闭python解释器的时候内置名称空间自动销毁 2.全局名称空间:只要你右键运行py文件会自动创建 py文件程序运行结束自动销毁 3.局部名称空间:函数被调用的时候自动创建 函数指向结束立即销毁(动态创建动态销毁)

     

  • 相关阅读:
    指针和引用的区别
    vs不自动退出控制台程序的办法
    ads出现村田电容电感无法仿真的问题解决(`BJT1' is an instance of an undefined model `BJTM1')
    解决浏览器跨域的几中方式
    js的事件委托机制
    let和const命令
    JavaScript中闭包的写法和作用详解
    提升HTML5的性能体验系列之五 webview启动速度优化及事件顺序解析
    提升HTML5的性能体验系列之四 使用原生UI
    提升HTML5的性能体验系列之三 流畅下拉刷新和上拉
  • 原文地址:https://www.cnblogs.com/buzaiyicheng/p/11165774.html
Copyright © 2020-2023  润新知