首先globals() 和 locals() 是作用于作用域下的內置函數,所以我將它們分為作用域類型的內置函數
1.作用域相關:
1)globals() # 返回全局作用域中的所有名字
2)locals() # 返回本地作用域中的所有名字
可能對于這個作用域相關的內置函數,大家一接觸都會很懵,這個東西是干什么的?它怎么用?
今天小編就給大家來解釋一下,
首先我們來先看下官方的解釋:
globals()——獲取全局變量的字典
locals()——獲取執行本方法所在命名空間內的局部變量的字典
什么意思呢?首先我們一定知道什么叫全局變量和局部變量吧,全局變量就是作用在全局。也就是說整個.Py文件中。
而局部變量,在我們現在僅有的學習中,就是在一個函數內有效。
首先我們先在全局的情況下分別使用globals() 和 locals () 兩個內置函數
print(globals())
print(locals())
答案:
{'__name__': '__main__', '__doc__': None, '__package__': None ......}
{'__name__': '__main__', '__doc__': None, '__package__': None ......}
首先我們先在局部的情況下分別使用globals() 和 locals () 兩個內置函數
a = 2
def func():
b = 1
print(globals())
print(locals())
func()
答案:
{'__name__': '__main__', '__doc__': None, '__package__': None, 'a' = 2 ......}
{'b' = 1}
通過這兩個例子,我們不難看出 ,globals()作用在全局,返回改作用域下的所有信息。
locals()作用在局部,返回改作用域下的所有信息。
區別是:globals() 無論將他放在全局還是局部它打印的都是全局作用域下的信息。而locals()
是打印當前自己所在作用域的信息,在全局打印全局,在哪個位置的局部就打印哪個位置局部下的作用域信息。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
