書名: AI速成課:從AI編程到構建智能軟件作者名: (阿聯酋)赫德林·德·龐特維斯本章字數: 715字更新時間: 2020-08-21 17:45:13
3.6 函數
函數對于提高代碼的可讀性有不可思議的作用。你可以把函數想成主體代碼之外的代碼塊。一旦主體代碼中調用了這些函數,這些函數里的代碼塊便會被執行。
你可以像這樣來寫一個函數:
前三行代碼創建了一個叫作division的函數,后兩行代碼則是代碼的主體部分。
你可以用def關鍵詞加上緊隨其后的函數名字來創建一個函數。名字后面跟著寫圓括號,括號里面是函數的參數。這些參數是你之后可以在函數內部使用的一些變量,它們也是連接主體代碼和函數的一部分。在上述例子中,division函數獲得了兩個參數:a和b。
一旦開始運行函數,所要做的便是計算a除以b,并把這一除法運算結果命名為result。然后,在函數的最后一行代碼處使用return關鍵詞,以便當我們在代碼中調用這個函數時函數會返回一個值。本例中,返回值是result。
接著,我們回到主體代碼中并且調用這一函數。我們通過寫下函數名division然后在之后的括號里輸入兩個想要進行除法運算的數字進行調用。記住,division函數返回的是這一除法的結果(即函數中的result)。因此,我們創建了一個變量d來儲存這一函數返回值。在最后一行代碼中,我們僅僅顯示了d,來判斷代碼是否正常運行。如果你執行了這一代碼,你會得到這樣的輸出:
你可以馬上進行驗證,3除以5確實等于0.6。你也可以用別的數字進行測試。
在實際的代碼中,函數可能長得多,有時甚至會在函數內部調用別的函數。你以后會經常看到這樣使用的函數,甚至在本書中的其他章節就有機會看到。這些函數提高了代碼的可讀性,你會在后續章節發現,我提供的代碼如果沒有寫成函數,會很難看懂。
練習
構建一個函數,用于計算平面中兩點之間的距離:一個點的坐標是(x1,y1),另一個點的坐標是(x2,y2)。
提示:你可以使用下列公式。
本練習的答案可以在GitHub頁面的Chapter 03/Functions/homework.py文件中找到。