函數正确調用 - 得到想要的結果
- 函數被定義後,本身是不會自動執行的,隻有在被調用後,函數才會被執行,得到相應的結果。主要是讓學習者了解并掌握函數調用的相關知識。
相關知識
定義函數與調用函數的順序
-
在定義了函數之後,就可以調用該函數了。但是在 Python
中我們要注意一個關鍵點,就是Python不允許前向引用,即在函數定義之前,不允許調用該函數。例如:
print plus(1,2)
def plus(a,b):
return a+b
運作結果為:
NameError: name 'plus' is not defined
從報錯結果可以看出,名字為plus的函數還沒進行定義(雖然我們是在後面進行了定義)。是以當我們在調用函數時,一定要确定在調用之前進行了函數定義。
正确使用參數
- 我們要在調用函數時,需要正确調用函數的名稱和參數,例如我們定義了一個加法函數:
def plus(a,b):
return a+b
我們在調用 plus() 函數時,如果傳入的參數類型不對,會報TypeError錯誤。而且有時我們傳入的參數類型不是規定類型的話,就算調用函數運作結果沒有報錯,也會産生邏輯錯誤。例如:
# 定義plus函數,作用是求兩個正整數之和
def plus(a,b):
return a+b
# 調用plus函數,參數類型為'1','2'
print(plus('1','2'))
輸出結果:
雖然上述例子的程式運作結果沒有報錯,但是結果卻與我們的預期不符,因為我們的本意是調用plus()函數實作兩個整數的加法。但是如果我們傳入的是字元串類型的數值時,結果就是兩個字元串的拼接。是以這個例子告訴我們一定要注意傳入參數的類型。
- 當我們傳入正常類型的參數時,傳入的參數個數不一緻時,也會報TypeError錯誤。例如:
# 定義plus函數,作用是求兩個正整數之和
def plus(a,b):
return a+b
# 調用plus函數,參數為1,2,3
print(plus(1,2,3))
報錯:
TypeError: plus() takes 2 positional arguments but 3 were given
報錯原因顯示,因為plus()函數允許有且僅有2個參數,但是卻在調用時傳入了3個參數,是以程式報錯。
小結
- 函數的調用十分重要,隻有學會正确調用函數,才會得到正确的函數運作結果。
程式設計要求
具體要求如下:
1.定義一個函數,實作對輸入的數值清單進行從小到大的順序排序;
2.輸出排序後的數值清單。
- 測試說明
測試輸入:
預期輸出:
測試輸入:
預期輸出:
測試輸入:
預期輸出:
測試輸入:
預期輸出:
上代碼:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL90TUktmVzIGMsdkYsx2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwEjMzQDN0EjM3IDNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)