模塊包含一個字典以跟蹤其上下文,例如在某個執行點定義的名稱。這本詞典可以通過vars(module)
(或module.__dict__
)如果module
是進口來訪問,或通過對模塊本身的locals
內置函數的調用:當地人的字典是什麼時候設置的?
更新,並返回來表示當前本地符號表的字典。
但我發現自己有點困惑,當我嘗試從函數訪問當地人字典。腳本只包含以下的輸出是一個空的字典:
def list_locals():
print(locals())
list_locals()
但在另一方面,如果一個腳本包含完全以下,輸出是預期的字典,包含__name__
,__doc__
而另一個模塊級變量:
print(locals())
那麼,何時是當地人字典集的內容? 另外,什麼是「更新」在locals
函數的定義中的含義?
在模塊級嘗試'print(locals()是globals())' –
@Chris_Rands是的,這是我的混亂的一部分。 –