• 名称空间和作用域


    名称空间和作用域

    名称空间

    变量名/函数名---》名称-->名称空间:专门存储名称空间的

    内置名称空间:数据类型自带内置方法如:len,list,dict

    全局名称空间:除了内置和局部都叫全局

    局部名称空间:函数内部定义的都叫局部

    执行顺序

    1. 内置名称空间:python解释器启动的时候就有了
    2. 全局名称空间:执行文件代码的时候才会有全局
    3. 局部名称空间:函数调用的时候才会有局部

    搜索顺序

    先从当前位置寻找,找不到在按照这种顺序,不会逆着方向寻找 局部--》全局--》内置--》报错

    作用域

    全局作用域:内置名称空间+全局名称空间

    局部作用域:局部名称空间

    全部作用域x和局部作用域y没有任何关系

    局部作用域1和局部作用域2没有任何关系

    # global和nonlocal了解,尽量不使用
    
    global   让global以下的局部的x变成全局的x
    nonlocal 让x成为成为顶层函数的局部,不让他成为全局
    

    所有可变类型可以打破以上规则

    函数嵌套

    函数里面有函数

    def 函数名():
    	def 函数名():
    		代码块
    		
    def f1():
        print('from f1')
    
        def f2():
            print('from f2')
    res = f1()
    
    # ***:函数内部定义的函数,外部不能用
    
  • 相关阅读:
    java的枚举
    java解析XML的三种方法
    java静态代理
    java注释
    Jquery基础之DOM操作
    sql点滴43—mysql允许用户远程登陆
    js实现复制功能
    MVC ViewData和ViewBag
    Visual Studio 2013 Web开发新特性
    VisualStudio2013快捷键
  • 原文地址:https://www.cnblogs.com/jzm1201/p/12594997.html
Copyright © 2020-2023  润新知