python小白 問關于形參和實參的問題
問題描述
代碼如下:
# -*- coding:gb2312 -*-def test(a,b,funC): result = funC(a,b) return resultfunC = eval(input('請輸入函數(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 不一樣為什么也可以成立?
換句話說,為什么不應該是lambda a,b:a+b 我輸入的字母不應該跟上面的字母是一樣的么?
問題解答
回答1:實參(argument):全稱為'實際參數(shù)'是在調用時傳遞給函數(shù)的參數(shù). 實參可以是常量、變量、表達式、函數(shù)等. 形參(parameter):全稱為'形式參數(shù)' 由于它不是實際存在變量,所以又稱虛擬變量。是在定義函數(shù)名和函數(shù)體的時候使用的參數(shù).
所以lambda a,b:a+b 中的 a, b是形參, 在函數(shù)體內用作局部變量, 而x, y在函數(shù)體內用作局部變量, 變量可以為實參的.所以作為lambda函數(shù)表達式的實參. 不需要一樣的.
相關文章:
1. windows2003下的apache響應時間特別長?2. 關于docker下的nginx壓力測試3. debian - docker依賴的aufs-tools源碼哪里可以找到啊?4. node.js - nodejs+express+vue5. javascript - vue vue-router 報$router重復定義6. 關于Java引用傳遞的一個困惑?7. java - 根據(jù)月份查詢多個表里的內容怎么實現(xiàn)好?8. android - 復雜布局問題9. javascript - webpack熱加載配置不生效10. mysql - eclispe無法打開數(shù)據(jù)庫連接
