官术网_书友最值得收藏!

6.7 變量作用域

Pyhton中,程序的變量并不是在哪個位置都可以訪問的,訪問權(quán)限決定于這個變量是在哪里賦值的。變量的作用域決定了在哪一部分程序可以訪問哪個特定的變量名稱。

變量作用域包括全局變量和局部變量。其中,定義在函數(shù)內(nèi)部的變量擁有一個局部作用域,定義在函數(shù)外的擁有全局作用域。

在函數(shù)之外定義的變量屬于全局變量,用戶可以在函數(shù)內(nèi)使用全局變量。例如:

運(yùn)行結(jié)果如圖6-31所示。

圖6-31 運(yùn)行結(jié)果

在本示例中,x就是一個全局變量。在函數(shù)get(y = x+100)中將變量x的值加100后賦給變量y。

當(dāng)用戶在函數(shù)內(nèi)定義的變量名稱與全局變量名稱相同時,函數(shù)內(nèi)定義的變量不會改變?nèi)肿兞康闹怠R驗楹瘮?shù)內(nèi)定義的變量屬于局部命名空間,而全局變量則屬于全局命名空間。

例如:

運(yùn)行結(jié)果如圖6-32所示。

圖6-32 運(yùn)行結(jié)果

在本示例中,第一次調(diào)用的x為全局變量,第二次調(diào)用的x為局部變量。

如果要在函數(shù)內(nèi)改變?nèi)肿兞康闹担捅仨毷褂胓lobal關(guān)鍵字。例如:

運(yùn)行結(jié)果如圖6-33所示。

圖6-33 運(yùn)行結(jié)果

在本示例中,首先定義一個全局變量x,然后定義函數(shù)changex(),該函數(shù)通過使用global關(guān)鍵字,將x的值修改為200。

主站蜘蛛池模板: 浦东新区| 清河县| 喜德县| 淳化县| 和林格尔县| 定结县| 兴隆县| 将乐县| 佛冈县| 克拉玛依市| 南岸区| 鹤庆县| 武定县| 宝丰县| 新密市| 万载县| 宜丰县| 古交市| 德化县| 藁城市| 晋中市| 玛曲县| 叙永县| 樟树市| 普兰县| 阳朔县| 榆中县| 潢川县| 张北县| 美姑县| 天津市| 三亚市| 金坛市| 惠州市| 东丽区| 宜城市| 海原县| 湾仔区| 北川| 如东县| 泰和县|