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

    1.命名空间
    1.全局命名空间。储存函数外的变量的时,将变量名和值的关系(id)储存在内存中,这个叫做全局命名空间,

    2.局部命名空间。函数的时候,他会在内存中开辟一个临时民称空间,存放函数体内的所有变量和值的关系
    随着函数的执行完毕,临时空间关闭,函数运用的时候开辟的就是局部命名空间

    3.内置名称空间,所有内置函数等储存的地方

    三个空间的加载顺序:
    内置名称空间 ---》全局名称空间——》(函数执行的时候)加载局部名称空间
    取值顺序:
    (函数执行时)局部命名空间--》全局命名空间---》内置加载空间

    4.全局作用域:包含全局命名空间,内置空间的变量有效作用范围
    局部作用域:在函数打开时,在函数体内部有效的变量作用范围

    2.函数的嵌套:
      在函数中套入一个函数时候需要考虑全局变量和局部变量的关系,
    def ok():
        def rk():
            print('22222')
        print('11111')
        return rk()   #当没有return rk()的时候函数内的函数不会执行

    ok()
    ##############################################################
    def ok():
      def lk():
        def pl():
          print('nihao ')
        return pl()
      print(lk())
      
    输出结果:
    nihao
    None
    None
      


    3.globals() #全局名称空间:查询所有全局变量
    locals() #局部名称空间:查询所有局部变量


    4.关键字:
    global:1.在局部空间内,声明一个全局变量
    2.在局部空间内,改变一个全局变量

    nonlocal:1.使得全局变量不得修改
    2.能够修改局部变量,在局部变量中,修改其一下的全部变量
  • 相关阅读:
    转发 微博 Qzone 微信 草根创业英雄时代落幕:贾跃亭戴威们一去不复返
    python 发送大Json格式数据
    python post json数据
    python post 参数
    IntelliJ Idea 常用10款插件(提高开发效率)
    IDEA操作技巧:一些常用且实用的插件
    nacos
    Sentinel 与 Hystrix 的对比
    阿里启动新项目:Nacos,比 Eureka 更强!
    D3.js学习(一)
  • 原文地址:https://www.cnblogs.com/wpcbk/p/8687339.html
Copyright © 2011-2022 走看看