python網絡爬蟲筆記(四)


一、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、裝飾器,由於函數也是一個對象,而且函數對象可以被賦值給一個變量,所以,通過變量也能調用該函數,函數對象有一個__name__屬性,可以拿到函數的名字。在代碼運行期間動態的增加功能的方式,稱之為裝飾器。(Decorator),從本質上講,decorator就是一個高階函數

5、partial函數

6、模塊 sys函數的argv變量,用list存儲;額所有的參數,argv至少有一個元素,

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: