python小白 問關(guān)于形參和實(shí)參的問題
問題描述
代碼如下:
# -*- coding:gb2312 -*-def test(a,b,funC): result = funC(a,b) return resultfunC = eval(input('請(qǐng)輸入函數(shù)'))num = test(11,22,funC)print(num)
執(zhí)行如下:
我輸入:lambda x,y:x+y或者lambda x,y:x**y都可以成功沒問題
我的問題是:lambda 后面的字母是x和y 和前面funC(a,b)里面的a,b 不一樣為什么也可以成立?
換句話說(shuō),為什么不應(yīng)該是lambda a,b:a+b 我輸入的字母不應(yīng)該跟上面的字母是一樣的么?
問題解答
回答1:實(shí)參(argument):全稱為'實(shí)際參數(shù)'是在調(diào)用時(shí)傳遞給函數(shù)的參數(shù). 實(shí)參可以是常量、變量、表達(dá)式、函數(shù)等. 形參(parameter):全稱為'形式參數(shù)' 由于它不是實(shí)際存在變量,所以又稱虛擬變量。是在定義函數(shù)名和函數(shù)體的時(shí)候使用的參數(shù).
所以lambda a,b:a+b 中的 a, b是形參, 在函數(shù)體內(nèi)用作局部變量, 而x, y在函數(shù)體內(nèi)用作局部變量, 變量可以為實(shí)參的.所以作為lambda函數(shù)表達(dá)式的實(shí)參. 不需要一樣的.
相關(guān)文章:
1. node.js - mysql如何通過knex查詢今天和七天內(nèi)的匯總數(shù)據(jù)2. shell - Update query wrong in MySQL3. javascript - 用jsonp抓取qq音樂總是說(shuō)回調(diào)函數(shù)沒有定義4. mysql 插入數(shù)值到特定的列一直失敗5. mysql 怎么做到update只更新一行數(shù)據(jù)?6. javascript - 新浪微博網(wǎng)頁(yè)版的字?jǐn)?shù)限制是怎么做的7. 怎么在網(wǎng)頁(yè)中設(shè)置圖片進(jìn)行左右滑動(dòng)8. 360瀏覽器與IE瀏覽器有何區(qū)別???9. sublime可以用其他編譯器替換嗎?10. python - 在使用Pycharm時(shí)經(jīng)常看到如下的樣式,小括號(hào)里紅色的部分是什么意思呢?
