|
當(dāng)代碼越寫越長在時,全部放在一塊兒會不太好看,也不好找想要的東西。同時,當(dāng)一段代碼需要重復(fù)使用時,復(fù)制粘貼也不太方便,可以用函數(shù)來解決這個問題。在python中,函數(shù)的聲明和定義是一體的。其基本形式如下:def 函數(shù)名(函數(shù)參數(shù)):(1)def其實(shí)就是 define定義一個函數(shù)。(2)Python中的函數(shù)聲明時不需要返回類型,由return來決定返回值是什么類型。(3)函數(shù)體不是大括號包起來,而是縮進(jìn)。(4)函數(shù)的參數(shù)可以是一個,也可以是多個,同樣,參數(shù)也不用指定類型。(5)如果沒有return,函數(shù)會自動返回None。可以定義函數(shù)來求字符串中字母的個數(shù),主程序用來輸入字符串。 print('字母個數(shù)有:',count,'個')(2)本函數(shù)的參數(shù)只有一個,數(shù)據(jù)類型根據(jù)傳入的類型決定。(3)可以在主程序中無限次調(diào)用本函數(shù)。 --------------------------代碼太長,休息一會兒 --------------------------這是廣告開始的分割線 ---------------------------這是廣告結(jié)束的分割線 ---------------------------------------接著,來...... 函數(shù)定義了以后就可以調(diào)用了,但要注意的是:python沒有前向引用。意思就是,函數(shù)的定義一定要在函數(shù)的調(diào)用之前。可以在主程序中通過函數(shù)名直接調(diào)用函數(shù),如下。要調(diào)用函數(shù)時,需要傳參數(shù)給函數(shù),本函數(shù)只有一個參數(shù),所以傳了一個參數(shù)過去。由于python是弱數(shù)據(jù)類型的,所以在傳參的時候并不一定是只能傳字符串類型,傳其他的比如列表也可以。 函數(shù)調(diào)用的時候,有實(shí)參和形參的區(qū)別。定義函數(shù)時的參數(shù)是形式參數(shù),此時還沒有實(shí)際的值,因此是形參。當(dāng)調(diào)用函數(shù)時,要具體地給函數(shù)參數(shù),此時就是實(shí)參。Python中參數(shù)傳遞采用的方式是值傳遞,絕大部分情況下,在函數(shù)內(nèi)部直接修改形參的值不會改變實(shí)參的值,如下圖所示: s的值在函數(shù)中改變了之后,在主程序中再輸出時是沒有任何改變的。如果需要在函數(shù)中改變了實(shí)參的值,在其他地方也要跟著改變的話,可以用如下方式:
|