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.可以当作函数的参数和返回值
    一句话概括:当普通变量使用
    闭包
    加载与取值顺序
    加载顺序
    内置命名空间(程序运行前加载)>全局命名空间(程序运行中:从上到下加载)>局部命名空间(程序运行中:调用时才加载)
    取值顺序
    局部调用
    局部命名空间>全局命名空间>内置命名空间
    全局调用
    全局命名空间>内置命名空间

  • 相关阅读:
    redis分布式锁
    pod资源清单
    zookeeper
    [置顶]【WP】 Writeup for SJTU-CTF ,被同级大佬和学长联合虐爆
    魔术师猜数【更优解】
    数学基础之线代
    向量是什么?
    矩阵与线性变换
    线性组合、张成的空间、基
    线性代数的本质
  • 原文地址:https://www.cnblogs.com/2018-01-30/p/8399961.html
Copyright © 2011-2022 走看看