Python 魔法書/08.函式
你已經學習了迴圈,它們使你的工作更輕鬆。但是等等,Python 中還有其他工具可以使編碼更容易。其中之一就是函式。函式有名字,用來識別它們,就像變數一樣。
函式就像一個帶有名字(標籤)的盒子。盒子的名字可以是任何東西。但這個盒子不僅僅是一個盒子,它可能包含炸彈、食物或任何有用的或無用的東西。盒子裡的東西可以用於不同的目的,比如炸彈,可以用於戰爭或採礦。
函式有一個名字,後面跟著圓括號 (),用來識別它們。函式的重要性及其作用取決於它們內部的資訊和變數以及它們如何協同工作。函式的重要性在於避免我們重複做同樣的事情。因此,函式允許我們重用、擴充套件、迴圈利用我們已經編寫的程式碼。你不需要整天都輸入相同的東西。所以讓我們舉個簡單的例子。
示例 01
def area(x,y):
result= x*y
return result
a=20
area(5,4)
輸出
20
我知道你在問自己 **def** 是什麼意思,它是不是一個函式。這個詞是一個關鍵字(它們告訴 Python 你的程式碼代表什麼,並且以小寫字母開頭)。這個詞的意思是定義,完整地說,我可以說“定義一個函式”,每次你建立一個函式時,你需要在開頭鍵入 **def**,後面跟著函式名。函式名後面跟著帶可選引數的圓括號。冒號用於縮排(你必須加上冒號)。
在這個例子中,我們建立了一個計算矩形面積的函式。我可以告訴你,建立一個函式非常容易。函數里面有什麼?如果你看一下第二行和第三行,你會發現它們向左移動了幾格(這叫做縮排)。在函式之後縮排的所有程式碼都屬於該函式。**result= x*y**,**return result** 屬於 area() 函式,但 **a=29** 不屬於。這是因為它沒有縮排 / 位於函式的右側。
圓括號中的值是函式接受的引數。任何放在函式中 x 位置的值都將分配給 **x**,而 y 也是如此。
語句 **result= x*y** 取 x 和 y 的乘積並將其分配給名為 result 的變數。第二行包含關鍵字 **return**,它顯示了儲存的值,就像 print() 的工作方式一樣。**a=29** 只是將 29 分配給變數 **a**(注意,該語句不是函式的一部分)。
最後一行呼叫 area() 函式。呼叫意味著讓直譯器讀取你的指令並執行它們。
兩個值被傳遞給 x 和 y。x 被分配為 5,y 被分配為 4。然後 x 和 y 相乘,它們的乘積儲存在 **result** 中。**result** 被傳遞給 **return**,它將 result 的值顯示給主程式(記住 return 工作方式類似於 printt())。嘗試為 x 和 y 放入不同的值,然後檢視輸出。這將為你節省大量時間。