高階函數(shù)
map()函數(shù)接收兩個(gè)參數(shù),一個(gè)是函數(shù),一個(gè)是Iterable未斑,map將傳入的函數(shù)依次作用到序列的每個(gè)元素,并把結(jié)果作為新的Iterator返回币绩。再看reduce的用法蜡秽。reduce把一個(gè)函數(shù)作用在一個(gè)序列[x1, x2, x3, ...]上,這個(gè)函數(shù)必須接收兩個(gè)參數(shù)缆镣,reduce把結(jié)果繼續(xù)和序列的下一個(gè)元素做累積計(jì)算
Python內(nèi)建的filter()函數(shù)用于過(guò)濾序列芽突。和map()類似,filter()也接收一個(gè)函數(shù)和一個(gè)序列董瞻。和map()不同的是寞蚌,filter()把傳入的函數(shù)依次作用于每個(gè)元素,然后根據(jù)返回值是True還是False決定保留還是丟棄該元素钠糊。
Python內(nèi)置的sorted()函數(shù)就可以對(duì)list進(jìn)行排序: ? ????????????????????????????????????????????????????????????????????????
? ? ?我們給sorted傳入key函數(shù)挟秤,即可實(shí)現(xiàn)忽略大小寫(xiě)的排序,要進(jìn)行反向排序,不必改動(dòng)key函數(shù)抄伍,可以傳入第三個(gè)參數(shù)reverse=True
range(1,5) #代表從1到5(不包含5)
關(guān)鍵字lambda表示匿名函數(shù)艘刚,冒號(hào)前面的x表示函數(shù)參數(shù)
在函數(shù)調(diào)用前后自動(dòng)打印日志,但又不希望修改now()函數(shù)的定義截珍,這種在代碼運(yùn)行期間動(dòng)態(tài)增加功能的方式攀甚,稱之為“裝飾器”(Decorator)。
Python的functools模塊提供了很多有用的功能岗喉,其中一個(gè)就是偏函數(shù)(Partial function)秋度。要注意,這里的偏函數(shù)和數(shù)學(xué)意義上的偏函數(shù)不一樣沈堡。
Python的functools模塊提供了很多有用的功能静陈,其中一個(gè)就是偏函數(shù)(Partial function)。要注意,這里的偏函數(shù)和數(shù)學(xué)意義上的偏函數(shù)不一樣鲸拥。