命名空間: 每乙個作用域變數儲存的位置,或者解釋為 儲存作用域中變數的字典。
作用: 獲取想檢視某個作用域中的變數名、變數值。
使用方法: 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)
# 呼叫o函式
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()
本文標題: python命名空間(namespace)簡單介紹
本文位址:
Python 命名空間
本文介紹python中命名空間中的legb原則。legb含 釋 l local function 函式內的名字空間,包括區域性變數和形參 e enclosing function locals 外部巢狀函式的名字空間 例如closure g global module 函式定義所在模組 檔案 的名字...
python 命名空間
作用域 第五章說過,將輸入字元作為命令放在作用域字典裡 作用域,每個函式都有乙個作用域,就是 字典,字典名字為函式名,鍵為變數,鍵值為變數對應的賦值。函式的作用域為區域性作用域 在函式內部訪問全域性變數,且只是讀取變數的值不重新繫結變數。這樣引用易出錯誤。慎重使用全域性變數 defcombine p...
python命名空間
區域性命名空間下def foo a a if name main foo 報錯資訊 unboundlocalerror local variable a referenced before assignment 全域性命名空間下if name main b b報錯資訊 nameerror name ...