python應用(6):函數

在流程很簡單的時候,或者流程不簡單但咱們不須要考慮開發維護成本的時候,平面地組織你的代碼就夠了,不用費腦子,不須要考慮層次或重用的東西。當事情變得愈來愈複雜時,當同行對代碼質量要求愈來愈高時,有一些重要的概念就出現了,而重用就是其中一個。重用就讓某段代碼能夠方便地反覆使用。爲了重用,有必要認真考慮怎麼封裝,這是設計層面的事情,而函數是經常使用或重要的封裝方式,雖然不是惟一的封裝方式。html

本文介紹流程的函數封裝,以及python的內置函數。python

函數,是實現了特定功能的代碼塊的集合。類或對象,也能夠重用。但若是從機器語言的角度來講,類或對象(在編譯或解釋後)都不復存在,而函數,也就是指令塊,仍然存在,且可能被反覆執行,因此函數是封裝的基礎元素。使用函數對流程進行封裝,可讓程序更加模塊化,而模塊化是系統設計的重要基礎。固然,函數不是模塊化的惟一手段。模塊化

(1)定義函數

python中定義函數,以下圖:
函數定義函數

函數,有兩個特徵,一個是參數,一個返回值。ui

在用def定義函數時,能夠在括號內定義參數,這個叫形參(在函數調用時,傳遞的參數叫實參),好比:
參數定義編碼

執行結果以下:
參數執行1spa

在定義函數時,能夠指定默認參數,意思是,調用時若是不傳參數,那就使用默認值,好比這樣定義一個函數:
默認參數定義設計

執行效果是這樣的:
默認參數執行3d

以上函數調用時,已經使用了關鍵字參數,也就是調用時指定函數形參的名字,以"paramer1=xxx"的形式進行傳遞,這種方式常常使用,由於能夠明確給哪一個參數傳遞了哪一個值,並且無順序要求。htm

函數還有一種參數,叫不定長參數,適用於參數不明確的情景,好比這樣定義與調用:
不定長參數定義

執行效果以下:
不定長參數執行

以上介紹了函數如何定義,以及它的參數特徵。

函數除了參數這個特徵,還有一個特徵是返回值,返回值使用關鍵字return來返回。

一個函數若是沒有return語句,那就至關在最後加了這一句:

return

如下是一個使用返回值的示例:
返回值示例

執行效果是這樣的:
返回值效果

(2)lambda函數

以上函數的定義,都使用def,正而八經地定義了一個有名字的函數,而python還提供了一個實用的特徵,叫lambda函數。lambda函數也叫匿名函數,通常是較短小的函數。

使用lambda關鍵字時,不指定函數名,只指定函數體,好比能夠這樣使用:
lambda函數1

再好比這個示例:
lambda函數2

(3)內置函數

以上介紹的是自定義函數,除了自定義函數,python還提供了一系列的內置函數,方便編碼時直接調用。

好比,有這樣的內置函數(此圖來源於 http://www.runoob.com/python/... ):
內置函數

對於每一個內置函數的做用,如下是一種查看的辦法--使用內置函數help()來查看,好比輸入:

help(len)

能夠看到這樣的提示輸出:
help提示1

也就是查看了內置函數len()的做用。


好了,總結一下,本文介紹了流程的函數封裝,包括函數的參數與返回值的特徵,特別介紹了lambda函數,文章最後簡單介紹了python提供的內置函數。see you

相關文章
相關標籤/搜索