函數是帶名字的代碼塊,能夠完成指定的功能。若是須要在程序中重複屢次執行某個任務,能夠直接調用函數便可。這樣就能夠避免程序代碼的冗餘,減小代碼量,方便維護。
1、 定義函數的格式:
def function_name(參數1,參數2,參數3......):
代碼塊
2、函數的形參和實參:函數定義時的參數爲形參,在函數調用時賦予的參數爲實參; 例如:
3、函數傳參講解
1.位置參數
場景說明:當實參較少,函數在調用時易於知道函數中參數的位置及定義,可使用該方式。通常用的較多。
說明:位置參數就是函數調用時傳入的實參要與函數定義時的形參位置(前後順序)上一 一對應;例如上面的函數調用時,分別用下面兩種方式來進行,1.def get_info(‘陳晨’,'湖北'),2.def get_info('湖北',‘陳晨’)。1表示陳晨來自湖北,2則表示湖北來自陳晨,徹底不一樣,以下圖所示:
另外,該種方式除了要求形參和實參的位置(前後順序)一 一對應外,還要求實參和形參的數量徹底相同,不然將會報錯;
2.關鍵字參數
場景說明:當函數中的參數較多,且在每次調用時,參數的順序較多,不方便記憶,此時建議使用關鍵字參數的方式進行傳參。
說明:關鍵字參數是指在函數調用時使用鍵值對的方式來進行制定參數的值,例如:1.get_info(name='陳晨',address ='湖北'),2.get_info(address ='湖北',name='陳晨');兩種方式結果完成相同。
即:關鍵字參數是經過參數名來定義參數值的,與位置無關。
3.默認參數
場景說明:當函數在調用時,大多狀況下,某些參數的值不變,此時爲了方便,不用每次對這些值進行傳值,能夠默認爲固定的值,有且當須要更改時才進行傳值,這些固定的值即爲默認參數。
說明:默認參數是位置參數和關鍵字參數的結合形式,默認參數必須放在最後,其餘參數按照位置參數的規則進行傳參。如今對上面的例子進行改進(增長一個用戶的年齡),以下圖所示:
若是在實際使用中發現,百分之七十以上的用戶都來自湖北,此時就可使用默認值,函數定義以下圖所示:
這樣,之後在調用時,若是該用戶是來自湖北,就能夠對address不進行傳參;若是該用戶不是來自湖北,在進行傳參,分別以下圖所示:
4.任意多參數
場景說明:在某些複雜的項目中,某些函數的參數數量不能事先肯定,此時就能夠定義成任意多的參數形式,該種模式是參考了位置參數和關鍵字參數而進一步獲得的。咱們經過元組來存放事先未知的相似位置參數的參數,經過字典來存放事先未知的鍵值對(關鍵字參數),格式以下所示:
注意:若是要讓函數接受不一樣類型的參數,必須在函數中定義任意數量實參的形參放在最後。Python將會先匹配位置實參和關鍵字參數,再將餘下的位置實參收集到元組中,將關鍵字參數收集到字典中。即:此時的參數順序:位置參數,關鍵字參數,元組,鍵值對,其中某種類型的參數能夠不存在(不存在就忽略),但總體的順序不能變。
4、函數返回值
說明:函數在調用時,絕大數狀況下須要獲得某個結果返回給調用的對象,此時將須要使用函數返回值了,函數返回值須要使用return關鍵字。注意:一旦使用了return,函數後面的部分將再也不執行;若在函數中沒有使用return,返回的將是一個None對象。
函數返回的值能夠是任意形式的類型,包括:數字,字符串,列表、元組、字典等。ide