cari

Rumah  >  Soal Jawab  >  teks badan

Newbie Python bertanya soalan tentang parameter formal dan parameter sebenar

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_u1582phpcn_u15822778 hari yang lalu1076

membalas semua(1)saya akan balas

  • 扔个三星炸死你

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

    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> 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

    balas
    0
  • Batalbalas