溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中l(wèi)ocals 和globals如何使用

發(fā)布時(shí)間:2021-07-10 11:43:08 來源:億速云 閱讀:216 作者:Leah 欄目:云計(jì)算

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān) Python中l(wèi)ocals 和globals如何使用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。



1.局部名字空間 - 特指當(dāng)前函數(shù)或類的方法。如果函數(shù)定義了一個(gè)局部變量 x,Python將使用
  這個(gè)變量,然后停止搜索。
2.全局名字空間 - 特指當(dāng)前的模塊。如果模塊定義了一個(gè)名為 x 的變量,函數(shù)或類,Python
  將使用這個(gè)變量然后停止搜索。
3.內(nèi)置名字空間 - 對每個(gè)模塊都是全局的。作為最后的嘗試,Python將假設(shè) x 是內(nèi)置函數(shù)或變量。


如果Python在這些名字空間找不到 x,它將放棄查找并引發(fā)一個(gè) NameError 的異常,同時(shí)傳遞
There is no variable named 'x' 這樣一條信息。


#局部變量函數(shù)locals例子(locals 返回一個(gè)名字/值對的字典。):

[python]    view plain   copy   print   ?

  1. def foo(arg, a):  

  2.     x = 1  

  3.     y = 'xxxxxx'  

  4.     for i in range(10):  

  5.         j = 1  

  6.         k = i  

  7.     print locals()  

  8.   

  9.   

  10. #調(diào)用函數(shù)的打印結(jié)果    

  11. foo(1,2)  

  12. #{'a': 2, 'i': 9, 'k': 9, 'j': 1, 'arg': 1, 'y': 'xxxxxx', 'x': 1}  


from module import 和 import module之間的不同。使用 import module,模塊自身被導(dǎo)入,
但是它保持著自已的名字空間,這就是為什么你需要使用模塊名來訪問它的函數(shù)或?qū)傩裕╩odule.function)
的原因。但是使用 from module import,實(shí)際上是從另一個(gè)模塊中將指定的函數(shù)和屬性導(dǎo)入到你自己的名字
空間,這就是為什么你可以直接訪問它們卻不需要引用它們所來源的模塊的原因。

上述就是小編為大家分享的 Python中l(wèi)ocals 和globals如何使用了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI