1. 程式人生 > >python網絡爬蟲筆記(四)

python網絡爬蟲筆記(四)

inf 比較 小寫字母 網絡爬蟲 作用 自定義 gpo 外部 而且

一、python中的高階函數算法

1、sorted()函數的排序 sorted()函數是一個高階函數,還可以接受一個key函數來實現自定義的函數排序,key指定的函數作用於每個序列元素上,並根據key函數返回的結果進行排序。在默認的情況下對字符的排序是按照ASCII的大小比較的由於‘Z‘<‘a‘,所以大寫字母會在小寫字母的前面。

技術分享圖片

技術分享圖片

2、高階函數可接受函數作為參數外,還可以把函數作為結果值返回,使用lazy_sum函數中定義了函數sum,內部函數sum可以引用外部函數lazy_sum的參數和局部變量,當lazy_sum返回函數sum時,相關變量參數都保存在反悔的函數中,這種稱之為閉包()的結構,但是註意的一點是,當調用lazy_sum函數的時候每次都會返回一個新的函數,即使傳入相同的參數:

技術分享圖片

技術分享圖片

3、匿名函數,關鍵字lambda 表示匿名函數,冒號前面的x表示函數參數, 有個限制就是只能有一個表達式,不同寫return 返回值是該表達式的結果,匿名函數的好處就是不用擔心函數名的沖突,匿名函數是一個函數對象,可以把匿名函數賦值給一個變量,再利用變量來調用該函數。

技術分享圖片

4、裝飾器,由於函數也是一個對象,而且函數對象可以被賦值給一個變量,所以,通過變量也能調用該函數,

技術分享圖片

python網絡爬蟲筆記(四)