(1)Lambda函數(shù)
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名申請、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、中江網(wǎng)站維護、網(wǎng)站推廣。
用于創(chuàng)建匿名函數(shù),即沒有名稱的函數(shù)。它只是一個表達式,函數(shù)體比def簡單很多。當(dāng)我們需要創(chuàng)建一個函數(shù)來執(zhí)行單個操作并且可以在一行中編寫時,就可以用到匿名函數(shù)了。
Lamdba的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。
利用Lamdba函數(shù),往往可以將代碼簡化許多。
(2)Map函數(shù)
會將一個函數(shù)映射到一個輸入列表的所有元素上,比如我們先創(chuàng)建了一個函數(shù)來返回一個大寫的輸入單詞,然后將此函數(shù)應(yīng)有到列表colors中的所有元素。
我們還可以使用匿名函數(shù)lamdba來配合map函數(shù),這樣可以更加精簡。
(3)Reduce函數(shù)
當(dāng)需要對一個列表進行一些計算并返回結(jié)果時,reduce()是個非常有用的函數(shù)。舉個例子,當(dāng)需要計算一個整數(shù)列表所有元素的乘積時,即可使用reduce函數(shù)實現(xiàn)。
它與函數(shù)的最大的區(qū)別就是,reduce()里的映射函數(shù)(function)接收兩個參數(shù),而map接收一個參數(shù)。
(4)enumerate函數(shù)
用于將一個可遍歷的數(shù)據(jù)對象(如列表、元組或字符串)組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標,一般用在for循環(huán)當(dāng)中。
它的兩個參數(shù),一個是序列、迭代器或其他支持迭代對象;另一個是下標起始位置,默認情況從0開始,也可以自定義計數(shù)器的起始編號。
(5)Zip函數(shù)
用于將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的列表
當(dāng)我們使用zip()函數(shù)時,如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同。
目錄
一、寫一個函數(shù)求三個數(shù)的和,并返回結(jié)果
二、寫一個函數(shù)求三個數(shù)的平均值,并返回結(jié)果
三、再寫一個函數(shù)求每個數(shù)與平均值之間的差,并返回結(jié)果
本節(jié)中的萬花筒通過彩色隨機螺旋線來實現(xiàn)。我們首先定義一個函數(shù)draw(),這個函數(shù)用來繪制一個螺旋線,函數(shù)中的畫筆起始位置的坐標為函數(shù)的兩個形參。然后調(diào)用函數(shù)的時候使用一個for循環(huán)來實現(xiàn)多次調(diào)用函數(shù),同時,函數(shù)的兩個實參由random模塊生成的隨機數(shù)組成。