zoukankan      html  css  js  c++  java
  • 函数(命名空间和作用域)

    命名空间:

    内置命名空间:就是解释器一启动就可以使用的名字,存储在内置命名空间内,启动解释器时加载到内存;

    全局命名空间:在程序从上到下被执行的工程中依次加载到内存,放置我们设置的所有变量名和函数名;

    局部内存空间:就是函数内部定义的名字。当调用函数时会产生这个命名空间,随着函数执行结束,这个命名空间就消失了;

    在局部:可以使用全局和内置命名空间的名字;多个函数拥有多个局部命名空间,互不共享。

    在全局:可以使用内置空间的名字,但不能使用局部空间的名字。

    在内置:不可以使用全局及局部空间的名字;

    当全局与内置名字相同是,会使用全局的名字;

    作用域:

    全局作用域:方法globals(),显示所有全局作用域的名字。

    局部作用域:方法locals(),显示局部作用域的名字。

    对于全局不可变数据类型的变量,在局部可以查看,但不能直接修改;若修改,要在程序的开始添加global声明

    函数的嵌套:

    嵌套定义:内部函数可以使用外部函数的变量nonlocal关键字声明了一个上层局部变量,会影响当前函数最近一层局部变量

    闭包:

    嵌套函数,内部函数调用外部函数的变量;——closue——方法,查看是否是闭包,例如:

    def outer()
        a=1
        def inner()
            print(a)
            return inner
    inn=outer
    inn()
    

      

     

  • 相关阅读:
    数据库秒级平滑扩容架构方案
    利用SQL索引提高查询速度
    SQL Server调优系列进阶篇(如何维护数据库索引)
    SQL Server调优系列进阶篇(如何索引调优)
    SQL语法集锦一:显示每个类别最新更新的数据
    TreeView中节点勾选设置
    C# WinForm捕获全局异常
    SQL SERVER 查询死锁
    DataTable导入到Excel文件
    Microsoft SyncToy 文件同步工具
  • 原文地址:https://www.cnblogs.com/geng-xiaoqiaoliushui/p/10261466.html
Copyright © 2011-2022 走看看