zoukankan      html  css  js  c++  java
  • day11 函数对象

    day11 函数对象


    函数名其实就是变量名

    1. 引用,赋值
    2. 当作函数的返回值
    3. 当作函数的参数
    4. 作为容器的元素

    函数的嵌套

    函数的定义阶段只检测语法,不执行代码

    所以没有被调用的函数内部只要没有语法上的错误就不会报错

    煞笔才用嵌套

    名称空间

    内置名称空间

    所学的所有内置方法,其实就是一个个函数,这些函数被封装后具有了某种功能

    len() 是python的内置方法,python启动的时候,就会定义len()函数,并且把len()丢入内存空间,这个内存空间叫做内置名称空间

    生命周期: python启动的时候活了,运行完就死了

    全局名称空间

    除了内置和局部,就是全局

    生命周期:程序/文件运行的时候才会活,运行完毕就死了

    局部名称空间

    函数内部的都叫局部,也就是说函数内部定义的名字都放入了局部名称空间中了

    生命周期:函数运行的时候会活,运行完就死了

    执行顺序

    内置名称空间--->全局名称空间--->局部名称空间

    查找顺序

    从当前名称空间开始查找,然后逐步往上,则顺序为局部-->全局-->内置

    作用域

    作用域关系在函数定义阶段就已经确定了

    全局作用域: 适用于全局+内置,也就是说内置和全局定义的名字所有地方都能获取到

    局部作用域:只能适用于局部范围,在局部定义的名字只能在局部获取到

    函数与函数之间可能会有相同名字的变量,但是这两个变量毫无关系,作用域不同

    不推荐使用的global/nonlocal

    global:局部修改全局
    nonlocal:将作用域等级提升一级,但最高不能到全局

  • 相关阅读:
    计算机二进制总结
    java-集合排序,队列,散列表map以及如何遍历
    java-Collection,List简单使用与方法/(集合使用-中)
    java-Date类与集合(上)
    java-正则、object中的两个方法的使用
    java-注释、API之字符串(String)
    Java-面向对象三大特征、设计规则
    java-多态、内部类
    java-修饰词、抽象类、抽象方法
    java-重载、包修饰词以及堆栈管理
  • 原文地址:https://www.cnblogs.com/wsxiaoyao/p/10952331.html
Copyright © 2011-2022 走看看