Python基礎學習筆記(三)

介紹Python語言的函數用法

一、函數
1、函數的定義
(1)、def(即 define,定義)的含義是創建函數,也就是定義一個函數。
(2)、arg (即 argument,參數)有時你還能見到這種寫法:parameter,二者都是參數的意思但是稍有不同,這裏不展開說了。
(3)、return 即返回結果,函數可以返回多個值。
圖片3.png
(4)、如果沒有return語句,函數執行完畢後也會返回結果,只是結果爲 None。
return None可以簡寫爲return。
(5)、如果想定義一個什麼事也不做的空函數,可以用pass語句:

def nop():
    pass

pass語句什麼都不做,pass可以用來作爲佔位符,比如現在還沒想好怎麼寫函數的代碼,就可以先放一個pass,讓代碼能運行起來。
2、函數的參數與參數傳遞
(1)、位置參數:填入的每一個值分別對應設定的每一個參數。

ef trapezoid_area(base_up, base_down, height):
     return 1/2 * (base_up + base_down) * height
trapezoid_area(1,2,3)

(2)、關鍵字參數:在調用函數的時候,將每個參數名稱後面賦予一個我們想要傳入的值。

trapezoid_area(base_up=1, base_down=2, height=3)

若定義的一個函數參數相對較多,在定義函數的時候可默認定義其中的幾個參數,即對它們賦值。
(3)、可變參數:可變參數的名字前面有個 * 號,可以傳入0個、1個或多個參數給可變參數,Python解釋器會把傳入的一組參數組裝成一個tuple傳遞給可變參數。
3、函數的調用
函數在調用時,基本與C語言類似,輸入函數名+參數即可完成調用。
4、遞歸函數
(1)、遞歸函數的定義
在函數內部,可以調用其他函數。如果一個函數在內部調用自身本身,這個函數就是遞歸函數。
(2)、遞歸函數的優點是定義簡單,邏輯清晰。理論上,所有的遞歸函數都可以寫成循環的方式,但循環的邏輯不如遞歸清晰。
(3)、使用遞歸函數的注意事項
使用遞歸函數需要注意防止棧溢出。在計算機中,函數調用是通過棧(stack)這種數據結構實現的,每當進入一個函數調用,棧就會加一層棧幀,每當函數返回,棧就會減一層棧幀。由於棧的大小不是無限的,所以,遞歸調用的次數過多,會導致棧溢出。

發佈了9 篇原創文章 · 獲贊 4 · 訪問量 613
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章