首页 > 其他 > 详细

函数(命名空间和作用域)

时间:2019-01-13 01:35:57      阅读:167      评论:0      收藏:0      [点我收藏+]

命名空间:

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

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

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

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

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

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

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

作用域:

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

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

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

函数的嵌套:

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

闭包:

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

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

  

 

函数(命名空间和作用域)

原文:https://www.cnblogs.com/geng-xiaoqiaoliushui/p/10261466.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!