更新時(shí)間:2022-10-10 來(lái)源:黑馬程序員 瀏覽量:
在Python中,程序的變量并不是在哪個(gè)位置都可以訪問(wèn)的,訪問(wèn)權(quán)限決定于這個(gè)變量是在哪里賦值的。我們先來(lái)看一段代碼:
a = 10 def test(): a = 20 print('a的值是%d'%a) test() a的值是20
上述代碼有兩個(gè)變量a,當(dāng)在test函數(shù)中輸出變量a的值時(shí),為什么輸出的是20,而不是10呢?其實(shí),這就是因?yàn)樽兞孔饔糜虿煌瑢?dǎo)致的。
變量的作用域決定了在哪一部分程序可以訪問(wèn)哪個(gè)特定的變量名稱(chēng)。Python變量的作用域一共有4種,分別是:
·L(local):函數(shù)內(nèi)的區(qū)域,包括局部變量和參數(shù)。
·E(Enclosing):外層嵌套函數(shù)區(qū)域,常見(jiàn)的是閉包函數(shù)的外層函數(shù)。
·G(Global):全局作用域。
·B(Built-in):內(nèi)鍵作用域。
Python中變量是采用L->E->G->B的規(guī)則查找,即Python檢索變量的時(shí)候,會(huì)優(yōu)先在函數(shù)作用域中查找,如果沒(méi)有找到,便會(huì)去外層嵌套函數(shù)作用域找,再找不到就會(huì)去全局作用域中找,最后再去內(nèi)鍵作用域中找。
大數(shù)據(jù)培訓(xùn)之?dāng)?shù)據(jù)重塑:重塑層次化索引
2022-10-07科學(xué)計(jì)算庫(kù)NumPy:矢量化運(yùn)算的方式
2022-10-07科學(xué)計(jì)算庫(kù)Numpy:numpy常見(jiàn)函數(shù)的使用方法
2022-10-07抓住機(jī)會(huì)有多重要?未來(lái)大數(shù)據(jù)行業(yè)的機(jī)遇在...
2022-10-06Python培訓(xùn):文件的打開(kāi)和關(guān)閉
2022-10-06Python培訓(xùn):什么是帶有參數(shù)的裝飾器
2022-09-30