Python基於locals返回作用域字典

2022-09-27 09:33:14 字數 1243 閱讀 1467

英文文件:

locals()

update and retur程式設計客棧n a dictionary representing the current local symbol table. free variables are returned by locals()when it is called in function blocks, but not in class blocks.

返回當前作用域內的區域性變數和其值組成的字典

說明:  1. 函式功能knzmczglkh返回當前作用域內的區域性變數和其值組成的字典,與globals函式類似(返回全域性變數)

>>> locals()

>>> a = 1

>>> locals() # 多了乙個key為a值為1的項

2. 可用於函式內。

>>> def f():

print('before define a ')

print(locals()) #作用域內無變數

a = 1

print('after define a')

print(locals()) #作用域內有乙個a變數,值為1

>>> f

>>> f()

before define a

{} after define a

3. 返回的字典集合不能修改。

>>> def f():

print('before define a ')

print(locals()) # 作用域內無變數

a = 1

print('after define a')

print(locals()) # 作用域內有乙個a變數,值為1

b = locals()

print('b["a"]: ',b['a'])

b['a'] = 2 # www.cppcns.com修改b['a']值

print('change locals value')

print('b["a"]: ',b['a'])

print('a is ',a) # a的值未變

>>> f()

before define a

{}after define a

b["a"]: 1

change locals value

b["a"]: 2

a is 1

>>>

本文標題: python基於locals返回作用域字典

本文位址:

python中locals和globals函式

首先,是關於名字空間的乙個名詞解釋。是枯燥,但是很重要,所以要耐心些。python使用叫做名字空間的東西來記錄變數的軌跡。名字空間只是乙個 字典,它的鍵字就是變數名,字典的值就是那些變數的值。實際上,名字空間可以象python的字典一樣進行訪問,一會我們就會看到。在乙個python程式中的任何乙個地...

Python神奇的內建函式locals的例項講解

摘要 相同屬性不相鄰問題 需求 有兩個list,分別為list1和list2。list1中有n個物件,每個物件有5個屬性,其中乙個屬性是tid,要求list1按tid排序,相鄰的物件的tid不能重複,m為不重複的tid數量,m不確定。list2存放的是所有可能出現的tid的情況。神奇的local函式...

Python神奇的內建函式locals的例項講解

摘要 相同屬性不相鄰問題 需求 有兩個list,分別為list1和list2。list1中有n個物件,每個物件有5個屬性,其中乙個屬性是tid,要求list1按tid排序,相鄰的物件的tid不能重複,m為不重複的tid數量,m不確定。list2存放的是所有可能出現的tid的情況。神奇的local函式...