recherche

Maison  >  Questions et réponses  >  le corps du texte

Un débutant en Python pose des questions sur les paramètres formels et les paramètres réels

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_u1582phpcn_u15822816 Il y a quelques jours1100

répondre à tous(1)je répondrai

  • 扔个三星炸死你

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

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

    répondre
    0
  • Annulerrépondre