Newbie Python bertanya soalan tentang parameter formal dan parameter sebenar
phpcn_u1582
phpcn_u1582 2017-06-13 09:24:44
0
1
1063

Kod adalah seperti berikut:

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

funC = eval(input("请输入函数"))
num = test(11,22,funC)
print(num)

Laksanakan seperti berikut:

Saya input:
lambda x,y:x+y
atau
lambda x,y:x**y
kedua-duanya boleh berjaya dan tiada masalah

Soalan saya ialah:
Huruf selepas lambda ialah x dan y, yang berbeza daripada a dan b dalam funC(a,b) sebelumnya
Mengapa ini boleh benar?

Dalam erti kata lain, kenapa tidak sepatutnya lambda a,b:a+b?

phpcn_u1582
phpcn_u1582

membalas semua(1)
扔个三星炸死你

Parameter sebenar (argumen): Nama penuh ialah "parameter sebenar" iaitu parameter dihantar ke fungsi apabila dipanggil Parameter sebenar boleh menjadi pemalar, pembolehubah, ungkapan, fungsi , dsb.
Parameter formal (. parameter): Nama penuh Ia adalah "parameter formal" kerana ia bukan pembolehubah sebenar, jadi ia juga dipanggil pembolehubah tiruan. Ia adalah parameter yang digunakan semasa mentakrifkan nama fungsi dan badan fungsi.

Jadi a, b dalam lambda a,b:a+b ialah parameter formal dan digunakan sebagai pembolehubah tempatan dalam badan fungsi, manakala x, y code> digunakan sebagai pembolehubah tempatan dalam badan fungsi, dan pembolehubah

boleh menjadi parameter sebenar lambda a,b:a+b 中的 a, b是形参, 在函数体内用作局部变量, 而x, y在函数体内用作局部变量, 变量可以为实参的.所以作为lambda Jadi ia digunakan sebagai parameter sebenar ungkapan fungsi lambda tak perlu sama

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan