1. 程式人生 > 其它 >函式-4.3函式引數

函式-4.3函式引數

一、引入

閱讀如下程式碼,思考問題:下面的程式碼實現了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)