Un débutant en Python pose des questions sur les paramètres formels et les paramètres réels
phpcn_u1582
phpcn_u1582 2017-06-13 09:24:44
0
1
1069

Le code est le suivant :

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

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

Exécuter comme suit :

Je saisis :
lambda x,y:x+y
ou
lambda x,y:x**y
les deux peuvent réussir et sans problème

Ma question est la suivante :
Les lettres après lambda sont x et y, qui sont différentes des a et b du funC(a,b) précédent
Pourquoi cela peut-il être vrai ?

En d’autres termes, pourquoi ne devrait-il pas être lambda a,b:a+b ? Les lettres que je saisis ne devraient-elles pas être les mêmes que les lettres ci-dessus ?

phpcn_u1582
phpcn_u1582

répondre à tous(1)
扔个三星炸死你

Paramètre réel (argument) : Le nom complet est "paramètre réel" qui est le paramètre transmis à la fonction lorsque est appelé. Les paramètres réels peuvent être constantes, variables, expressions, fonctions , etc.
Paramètre formel (. paramètre) : Nom complet Il s'agit d'un "paramètre formel" car ce n'est pas une variable réelle, c'est pourquoi on l'appelle également une variable factice. C'est le paramètre utilisé lors de la définition du nom de la fonction et du corps de la fonction.

Donc a, b dans lambda a,b:a+b sont des paramètres formels et sont utilisés comme variables locales dans le corps de la fonction, tandis que x, y code> est utilisé comme variable locale dans le corps de la fonction, et la variable

peut être un paramètre réel lambda a,b:a+b 中的 a, b是形参, 在函数体内用作局部变量, 而x, y在函数体内用作局部变量, 变量可以为实参的.所以作为lambda Elle est donc utilisée comme paramètre réel de l'expression de la fonction lambda. pas besoin d'être pareil

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal