Python-Neuling stellt Fragen zu formalen Parametern und tatsächlichen Parametern
phpcn_u1582
phpcn_u1582 2017-06-13 09:24:44
0
1
1066

Der Code lautet wie folgt:

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

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

Führen Sie Folgendes aus:

Ich gebe ein:
Lambda x,y:x+y
oder
Lambda x,y:x**y
beide können erfolgreich sein

Meine Frage ist:
Die Buchstaben nach Lambda sind x und y, die sich von a und b im vorherigen funC(a,b) unterscheiden
Warum kann das wahr sein?

Mit anderen Worten, warum sollte es nicht Lambda a,b:a+b sein? Sollten die Buchstaben, die ich eingebe, nicht die gleichen sein wie die Buchstaben oben?

phpcn_u1582
phpcn_u1582

Antworte allen(1)
扔个三星炸死你

实参(argument):全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等.
形参(parameter):全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数.

所以lambda a,b:a+b 中的 a, b是形参, 在函数体内用作局部变量, 而x, y在函数体内用作局部变量, 变量可以为实参的.所以作为lambda函数表达式的实参. 不需要一样的.

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage