python小白 問形參與實參的問題
phpcn_u1582
phpcn_u1582 2017-06-13 09:24:44
0
1
1068

程式碼如下:

#
# -*- coding:gb2312 -*-
def test(a,b,funC):
    result = funC(a,b)
    return result

funC = 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 我輸入的字母不應該跟上面的字母是一樣的麼?

phpcn_u1582
phpcn_u1582

全部回覆(1)
扔个三星炸死你

實參(argument):全稱為"實際參數"是在調用時傳遞給函數的參數. 實參可以是常數、變數、表達式、函數等.
形參(parameter):全稱為"形式參數" 由於它不是實際存在變量,所以又稱為虛擬變量。是在定義函數名稱和函數體的時候所使用的參數.

所以lambda a,b:a+b 中的a, b是形參, 在函數體內用作局部變量, 而x, y在函數體內用作局部變量, 變量可以為實參的.所以作為lambda函數表達式的實參. 不需要一樣的.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板