文章詳情頁
python小白 問關于形參和實參的問題
瀏覽:127日期:2022-06-28 15:35:20
問題描述
代碼如下:
# -*- coding:gb2312 -*-def test(a,b,funC): result = funC(a,b) return resultfunC = eval(input('請輸入函數'))num = test(11,22,funC)print(num)
執行如下:
我輸入: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):全稱為'實際參數'是在調用時傳遞給函數的參數. 實參可以是常量、變量、表達式、函數等. 形參(parameter):全稱為'形式參數' 由于它不是實際存在變量,所以又稱虛擬變量。是在定義函數名和函數體的時候使用的參數.
所以lambda a,b:a+b 中的 a, b是形參, 在函數體內用作局部變量, 而x, y在函數體內用作局部變量, 變量可以為實參的.所以作為lambda函數表達式的實參. 不需要一樣的.
相關文章:
1. python - 獲取到的數據生成新的mysql表2. 為什么python中實例檢查推薦使用isinstance而不是type?3. mysql里的大表用mycat做水平拆分,是不是要先手動分好,再配置mycat4. window下mysql中文亂碼怎么解決??5. sass - gem install compass 使用淘寶 Ruby 安裝失敗,出現 4046. python - (初學者)代碼運行不起來,求指導,謝謝!7. 為啥不用HBuilder?8. python - flask sqlalchemy signals 無法觸發9. python的文件讀寫問題?10. javascript - js 對中文進行MD5加密和python結果不一樣。
排行榜
