zoukankan      html  css  js  c++  java
  • python命名空间(namespace)

    命名空间: 每一个作用域变量存储的位置,或者解释为 存储作用域中变量的字典。

    作用: 获取想查看某个作用域中的变量名、变量值。

    使用方法: locals()  #当前命名空间

    1. 效果图:

    2. 代码

    a=10
    b=20
    
    # 定义一个变量接收全局命名空间里的变量名、变量值
    global_namespace=locals()
    print(global_namespace)
    
    print('
    
    
    ')
    
    def one():
        c=30
        d=40
        # 定义一个变量接收局部命名空间里的变量名、变量值
        local_namespace=locals()
        print(local_namespace)
    
    # 调用one函数
    one()

    原笔记:

    # 命名空间(namespace)
    # 命名空间指的是变量存储的位置,每一个变量都需要存储到指定的命名空间当中
    # 每一个作用域都会有一个它对应的命名空间
    # 全局命名空间,用来保存全局变量。函数命名空间用来保存函数中的变量
    # 命名空间实际上就是一个字典,是一个专门用来存储变量的字典
    
    # locals()用来获取当前作用域的命名空间
    # 如果在全局作用域中调用locals()则获取全局命名空间,如果在函数作用域中调用locals()则获取函数命名空间
    # 返回的是一个字典
    scope = locals() # 当前命名空间
    print(type(scope))
    # print(a)
    # print(scope['a'])
    # 向scope中添加一个key-value
    scope['c'] = 1000 # 向字典中添加key-value就相当于在全局中创建了一个变量(一般不建议这么做)
    # print(c)
    
    def fn4():
        a = 10
        # scope = locals() # 在函数内部调用locals()会获取到函数的命名空间
        # scope['b'] = 20 # 可以通过scope来操作函数的命名空间,但是也是不建议这么做
    
        # globals() 函数可以用来在任意位置获取全局命名空间
        global_scope = globals()
        # print(global_scope['a'])
        global_scope['a'] = 30
        # print(scope)
    
    fn4()
  • 相关阅读:
    61. 最长不含重复字符的子字符串
    60. 礼物的最大价值 (未理解)
    59. 把数字翻译成字符串
    58. 把数组排成最小的数
    57. 数字序列中某一位的数字 (不懂)
    spring data jpa 官方文档
    idea 编译报错 源发行版 1.8 需要目标发行版 1.8
    idea maven 依赖报错 invalid classes root
    solr
    spring boot 官方文档
  • 原文地址:https://www.cnblogs.com/FlyingLiao/p/11279798.html
Copyright © 2011-2022 走看看