首頁  >  問答  >  主體

python小白 問形參與實參的問題

程式碼如下:

#
# -*- 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_u1582phpcn_u15822685 天前1027

全部回覆(1)我來回復

  • 扔个三星炸死你

    扔个三星炸死你2017-06-13 09:26:44

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

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

    回覆
    0
  • 取消回覆