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