zoukankan      html  css  js  c++  java
  • Python函数进阶


    命名空间
    全局命名空间
    代码在运行伊始,创建的存储“变量名与值的关系”的空间
    局部命名空间
    在函数的运行中开辟的临时的空间
    内置命名空间
    python解释器为我们提供的空间
    作用域
    定义:作用范围
    全局作用域
    内置名称空间
    全局名称空间
    局部作用域
    局部名称空间,只能在局部范围内生效
    globals() 和 locals()
    global
    1.声明一个全局变量
    2.在局部作用域对全局变量修改,用global声明
    ps:对可变数据类型(list,dict,set)可以直接引用不用通过global
    nonlocal
    1,不能修改全局变量。
    2,在局部作用域中,对父级作用域(或者更外层作用域非全局作用域)的变量进行引用和修改,并且引用的哪层,从那层及以下此变量全部发生改变。
    函数的嵌套
    函数中定义函数
    函数的作用链
    小范围作用域可以使用大范围的变量,但是反之不行,他是单向的
    函数的本质
    1.可以被引用
    2.可以被当作容器类型的元素
    3.可以当作函数的参数和返回值
    一句话概括:当普通变量使用
    闭包
    加载与取值顺序
    加载顺序
    内置命名空间(程序运行前加载)>全局命名空间(程序运行中:从上到下加载)>局部命名空间(程序运行中:调用时才加载)
    取值顺序
    局部调用
    局部命名空间>全局命名空间>内置命名空间
    全局调用
    全局命名空间>内置命名空间

  • 相关阅读:
    Python 生产者与消费者模型
    Python 进程队列
    Python 进程
    Python Socket网络编程
    Python 异常处理
    C# .net 下载了个.dll的文件,怎么用啊?
    ScriptManager.RegisterStartupScript用法详解
    ScriptManager.RegisterStartupScript与ClientScript.RegisterStartupScript区别
    IDisposable接口
    Guid排序问题
  • 原文地址:https://www.cnblogs.com/2018-01-30/p/8399961.html
Copyright © 2011-2022 走看看