命名空間: 每一個作用域變量存儲的位置,或者解釋為 存儲作用域中變量的字典。
作用: 獲取想查看某個作用域中的變量名、變量值。
使用方法: 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()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。