官术网_书友最值得收藏!

6.6 形參和實參

函數的參數分為形參和實參兩種。形參出現在函數定義中,在整個函數體內都可以使用,離開該函數則不能使用。實參在調用函數時傳入。

1. 形參與實參的概念

形式參數:在函數定義中出現的參數,可以看作是一個占位符,它沒有數據,只能等到函數被調用時接收傳遞進來的數據,所以稱為形式參數,簡稱形參。

實際參數:函數被調用時給出的參數,包含實實在在的數據,會被函數內部的代碼使用,所以稱為實際參數,簡稱實參。

2. 參數的功能

形參和實參的功能是數據傳送,發生函數調用時,實參的值會傳送給形參。

3. 形參和實參的特點

(1)形參變量只有在函數被調用時才會分配內存,調用結束后立刻釋放內存,所以形參變量只有在函數內部有效,不能在函數外部使用。

(2)實參可以是常量、變量、表達式、函數等,無論實參是何種類型的數據,在進行函數調用時,都必須有確定的值,以便把這些值傳送給形參,所以應該提前用賦值、輸入等辦法使實參獲得確定值。

(3)實參和形參在數量上、類型上、順序上必須嚴格一致,否則會發生“類型不匹配”的錯誤。

注意 函數調用中發生的數據傳送是單向的,即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變時,實參的值不會隨之變化。

【例6.4】形參和實參的應用(源代碼\ch06\6.4.py)。

保存并運行程序,結果如圖6-29所示。

圖6-29 運行結果

注意 在定義函數時,函數的參數就是形參,形參即形式上的參數,它代表參數,但是不知道具體代表的是什么參數。實參就是調用函數時的參數,即具體的、已經知道的參數。

內置函數的組合規則,在用戶自定義函數上也同樣可用。例如,對自定義的gg( name,price )函數可以使用任何表達式作為實參。

修改【例6.4】中調用函數的代碼如下:

    gg("冰箱" *4, 4600)

保存并運行程序,結果如圖6-30所示。可以用字符串的乘法表達式作為實參。作為實參的表達式,會在函數調用之前執行,因此在上面的例子中,表達式"冰箱"*4只執行一次。

圖6-30 運行結果

變量也可以作為實參,例如:

    aa="冰箱"
    gg(aa, 4600)

由此可見,實參的名稱和函數定義里的名稱沒有關系。

主站蜘蛛池模板: 军事| 绩溪县| 高要市| 西丰县| 桦川县| 凭祥市| 洪雅县| 偃师市| 新丰县| 恩平市| 巨野县| 揭阳市| 阳谷县| 桐柏县| 突泉县| 花莲市| 秦安县| 钟山县| 峨眉山市| 宿州市| 新疆| 内黄县| 修文县| 图们市| 宝坻区| 衡阳市| 方正县| 福清市| 会同县| 皮山县| 普安县| 桦甸市| 广饶县| 平塘县| 乌海市| 洞口县| 德钦县| 辽源市| 岳西县| 涪陵区| 北海市|