- 當在函數(shù)中使用一個無限制型的名字時,Python查找三個作用域,局部的(Local),次之全局(
Global),再次之內置的(Built-in)——在名字被發(fā)現(xiàn)的第一個位置處停止。
- 當你在一個函數(shù)中給一個名字賦值(而不是只在一個表達式中引用它)時,Python總是在局部作
用域中生成或改變它,除非在該函數(shù)已對它進行了全局聲明。
- 當在函數(shù)外部(例如,在一個模塊頂層或交互提示符下)時,局部作用域與全局作用域一樣,都
是一個模塊的名字空間。
范例
#全局作用域
x=99 #x和func在模塊中被賦值:全局的
def func(y): #y和z在函數(shù)中被賦值:局部的
# local scope
z=x+y #x沒被賦值,所以它是全局的
return z
print func(1) #func在模塊中:結果=100