4.閉包與作用域

1.在一個內部函數裏,對外部作用域(非全局作用域)的變量進行了引用,這個內部函數就稱爲閉包;這個變量稱爲自由變量。

2.“閉包”的作用——保存函數的狀態信息,使函數的局部變量信息依然可以保存下來。裝飾器的本質就是閉包。

  func1已經調用結束,但是局部變量hello仍然保存。

  

3.global的作用就是在“函數局部作用域”內聲明表示一個全局變量,從而可以在函數內部修改全局變量的值(否則只能訪問不能修改),而且函數內部改變的全局變量的值也會改變。

4.nonlocal關鍵字的作用和local的作用類似,就是讓“內部函數”可以修改“外部函數(裝飾器)”的局部變量值。

5.局部作用域->外部函數作用域->全局作用域->內建作用域

6.靜態的作用域,是一個或多個命名空間按照一定規則疊加影響代碼區域;運行時動態的作用域,是按照特定層次組合起來的命名空間。

    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章