1、局部變量:
定義在函數內部的變量就是局部變量,只能在其被聲明的函數內部被訪問。這樣的變量只在函數運行時存在,一旦退出函數,這些局部變量就都被銷毀。所有在函數內部聲明的變量名稱都將被加入作用域中。
示例如下:
def printInfo(arg1, arg2) : sum = arg1 + arg2 print "函數中的sum = ",sum #函數體外也定義了一個sum變量 printInfo(5,6) sum = 1 print "函數外的sum = ",sum
運行結果如下:
函數中的sum = 11 函數外的sum = 1
函數中的sum變量就是局部變量,只能在所在的函數中訪問,即使在外面改變了sum變量的值,也不會影響函數中的sum變量的值。
2、全局變量:
全局變量是在函數外定義的,可以在整個程序范圍內訪問,但是必須在所要訪問的函數中使用關鍵詞 global 聲明函數外的變量為全局變量,這樣訪問的才是在函數外定義的全局變量。
示例代碼:
def printInfo(y) : global x sum = x + y print "sum = ",sum x = 10 printInfo(5)
運行結果:
sum = 15
一旦變量被定義為全局變量后,在程序任何地方都可以訪問,也可以修改。所以我們不建議過多的使用全局變量(非必要不使用),因為這樣可能會導致全局變量的不可預知性,並且全局變量也降低了函數或模塊之間的通用性,同時也降低了代碼的可讀性,別人有可能不知道這個調用的是哪的變量。