4.函數-高級
(1)偏函數:原函數中部分擁有固定值的參數另外單獨定義爲一個函數
(2)高階函數:參數是函數
(3)返回函數:返回值爲函數
(4)匿名函數:也稱lambda函數
(5)閉包
(6)裝飾器:格式必須要與被裝飾的函數一致!
注意:上即爲外層,下即爲內層
(7)生成器
注意:yield語句可以阻斷當前函數的執行,但當使用next()或__next()__時,函數會繼續接着執行,直到執行到下一個yield語句,又會被暫停。
(8)遞歸函數:採用分治法(大任務->小任務)實現循環功能
5.函數的作用域
訪問原則:從內到外或就近原則,具體是指從當前所處的命名空間開始尋找,再往外更大的命名空間查找
注意:程序執行到某一行時,需要查詢某變量的值時,只能往前查找,而不能往下面還沒執行的區域查找!!!(如:下圖中調用test()時,找不到b的值!)