python命名空間(namespace)


命名空間: 每一個作用域變量存儲的位置,或者解釋為 存儲作用域中變量的字典。

作用: 獲取想查看某個作用域中的變量名、變量值。

使用方法: locals()  #當前命名空間

1. 效果圖:

2. 代碼

a=10
b=20

# 定義一個變量接收全局命名空間里的變量名、變量值
global_namespace=locals()
print(global_namespace)

print('\n\n\n')

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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM