• 命名空间


    当一行代码要使用变量 x 的值时,Python会到所有可用的名字空间去查找变量,按照如下顺序:

    局部名字空间 - 特指当前函数或类的方法。如果函数定义了一个局部变量 x,Python将使用这个变量,然后停止搜索。
    全局名字空间 - 特指当前的模块。如果模块定义了一个名为 x 的变量,函数或类,Python将使用这个变量然后停止搜索。
    内置名字空间 - 对每个模块都是全局的。作为最后的尝试,Python将假设 x 是内置函数或变量。
    如果Python在这些名字空间找不到 x,它将放弃查找并引发一个 NameError 的异常,同时传 递 name x is not defined 这样一条信息

    a = 10
    def fun():
        a = 1111111
        d = 1111111
        print locals() # {'a': 1111111, 'd': 1111111}
        # print c #NameError: global name 'c' is not defined
    
    print globals() # {'a': 10, 'abc': <module 'abc' from '/usr/lib/python2.7/abc.pyc'>, '__builtins__': <module '__builtin__' (built-in)>, '__file__': '/home/an/PycharmProjects/untitled/class_study.py', 'traceback': <module 'traceback' from '/usr/lib/python2.7/traceback.pyc'>, '__package__': None, 'fun': <function fun at 0x7f4b1209a410>, '__name__': '__main__', '__doc__': None}
    
    fun()
    # print d #NameError: name 'd' is not defined
    
  • 相关阅读:
    BaseDao
    url中文参数解决方案
    Ajax实现步骤和原理
    在服务器端使用文件时的路径解决方案
    用户验证登录拦截器
    jenkins环境搭建
    gitlab环境搭建
    nexus3.X环境搭建
    base64文件大小计算
    JVM远程调试功能
  • 原文地址:https://www.cnblogs.com/jijizhazha/p/7193509.html
Copyright © 2020-2023  润新知