函式-4.3函式引數
阿新 • • 發佈:2021-12-15
一、引入
閱讀如下程式碼,思考問題:下面的程式碼實現了2個數的加減乘除,並且把結果打印出來,執行如下程式碼感覺到哪些地方不太好嗎?
# 定義了4個函式 def add_2_nums(): print("接下來要進行加法操作...") num1 = input("請輸入第1個數:") num2 = input("請輸入第2個數:") print("%s+%s=%d" % (num1, num2, int(num1) + int(num2))) def min_2_nums(): print("接下來要進行減法操作...") num1 = input("請輸入第1個數:") num2 = input("請輸入第2個數:") print("%s-%s=%d" % (num1, num2, int(num1) - int(num2))) def mult_2_nums(): print("接下來要進行乘法操作...") num1 = input("請輸入第1個數:") num2 = input("請輸入第2個數:") print("%s*%s=%d" % (num1, num2, int(num1) * int(num2))) def div_2_nums(): print("接下來要進行除法操作...") num1 = input("請輸入第1個數:") num2 = input("請輸入第2個數:") print("%s/%s=%d" % (num1, num2, int(num1) / int(num2))) # 分別呼叫函式 add_2_nums() min_2_nums() mult_2_nums() div_2_nums()
上述的程式碼,雖然能夠實現2個數的加減乘除,但有個較大的問題:4個函式中每次都需要重新獲取這2個數字,我們如果想要計算1和2的加減乘除的結果,就需要輸入4遍數字1,4遍數字2,這太麻煩了
想要解決這個問題,大體的思路應該是,在呼叫加減乘除這4個函式之前先獲取要操作的2個數字,然後將這2個數字傳遞給函式讓它們直接用即可而不是每個函式都重新獲取
Python中如果在呼叫函式時,需要將資料傳遞給函式,這就用到了一個新的”傳引數“
二、使用流程
想要實現”傳引數“的功能,只要注意2點即可:
- 定義函式時
()
中定義變數,變數的個數根據需要的個數來確定,這些變數的目的是用來儲存傳遞過來的資料。我們把這些變數稱之為”形參“ - 呼叫函式時
()
中寫入要傳遞的資料,可以是常量、表示式、變數等,這些就是要真實傳遞的資料。我們把這些資料稱之為”實參“
如下示例,展示了呼叫一個函式將數字100、200都傳遞給它
def test(num1, num2): print("傳遞過來的第1個數是:%d" % num1) print("傳遞過來的第2個數是:%d" % num2) print("它們倆的和是:%d" % (num1 + num2)) test(100, 200)
執行結果
傳遞過來的第1個數是:100 傳遞過來的第2個數是:200 它們倆的和是:300
注意:
三、練習
要求:定義一個函式,有3個形參,函式體中要實現的功能為第1個形參+第2個形參-第3個形參 輸出結果到終端
參考程式碼:
def test(num1, num2, num3): print(num1+num2-num3) test(100, 200, 300)