Lorsque l'on appelle une fonction, le transfert de données est toujours indissociable entre la fonction principale et la fonction appelante. Avec le transfert de données, c'est le transfert de paramètres . Le but des paramètres est de transmettre des données aux fonctions.
Par exemple, nous avons acheté un presse-agrumes. Lorsque nous ajoutons des pommes, du jus de pomme sortira. Lorsque nous ajouterons de la pastèque, du jus de pastèque sortira. Les paramètres sont transmis à la cible via la fonction principale. une fonction, et la fonction appelée nous renverra un résultat.
Apprenons ensuite le passage de paramètres.
Pour apprendre le passage de paramètres de fonction, nous devons d’abord comprendre ce que sont les paramètres formels et les paramètres réels. Continuons avec l'exemple ci-dessus. Nous avons un conteneur pour contenir les fruits dans le presse-agrumes. Nous mettons les fruits dans ce conteneur, puis le presse-agrumes commence à fonctionner. Les paramètres formels et les paramètres réels ont une relation similaire.
Les paramètres formels sont les paramètres définis entre parenthèses lorsque nous définissons la fonction. Nous utiliserons ce paramètre pour écrire du code à l'intérieur de la fonction, et les paramètres réels sont les paramètres transmis lorsque la fonction est appelée. Le résultat renvoyé par la fonction est basé. sur ce paramètre réel au lieu de paramètres formels.
Regardez l'exemple suivant :
>>>A=30>>>defget_salary(jours) :...salaire=jours*300...print(salaire)...>>>get_salary(A)9000
Dans l'exemple ci-dessus, le paramètre jours utilisé lors de la création de la fonction est un paramètre formel Lorsque nous appelons la fonction, A est le paramètre réel, qui est en fait le paramètre qui doit être introduit dans la fonction.
Lorsque nous créons une fonction, nous pouvons définir plusieurs paramètres formels entre parenthèses. Lorsque nous l'appelons, le nombre et la position des paramètres doivent être cohérents avec ceux créés.
Que se passera-t-il si la fonction que nous créons a 2 paramètres formels, mais que nous n'utilisons qu'un seul paramètre réel lors de son appel ?
>>>defget_message(adresse,numéro) :...print(adresse,numéro)...>>>get_message('Suzhou')Traceback(dernier appel le plus récent) :File<stdin>,line1,in<module>TypeError:get_message ()manquant1requiredpositionalargument: 'numéro'
Nous pouvons constater que lorsque le nombre de paramètres réels n'est pas égal au nombre de paramètres formels, une exception sera levée, ce qui signifie spécifiquement qu'il manque un numéro de paramètre de position nécessaire.
Lorsque les positions des paramètres sont incohérentes, deux erreurs se produiront. L'une consiste à signaler une erreur directement, car nous définirons différents types en fonction de la nature des paramètres lors de la transmission des paramètres, de sorte que les erreurs de type de données généreront des exceptions.
Une autre erreur est que le type de données du paramètre transmis est correct, mais la position est incorrecte, ce qui entraînera des résultats de sortie erronés.
Afin d'améliorer la lisibilité du programme, des arguments de mots-clés peuvent également être utilisés lors de l'appel de fonctions.
Nous découvrons les arguments des mots-clés en calculant le volume du conteneur.
>>>defvolume(longueur,largeur,hauteur) :...volume=longueur*largeur*hauteur...print('Le volume est : ',volume)...>>>volume(longueur=20,largeur= 30 ,hauteur=3) le volume est : 1800
L'utilisation de paramètres de mots-clés peut enregistrer le processus de définition des variables, attribuer des valeurs aux paramètres directement lorsque la fonction est appelée, puis les transmettre à la fonction et enfin renvoyer le résultat. Dans cette méthode de transfert, la différence de position des paramètres n'affecte pas le résultat de sortie.
Lorsque nous définissons une fonction, nous pouvons définir une valeur initiale pour les paramètres de la fonction, de sorte que si aucun paramètre réel n'est donné lorsque nous appelons la fonction, la fonction utilisera les paramètres par défaut.
Regardez l'exemple suivant :
>>>defvolume(length=100,width=100,height=10):...volume=length*width*height...print(volume)...>>>volume()#Ne donne pas de paramètres réels Lorsque les paramètres réels sont donnés, les paramètres par défaut 100000>>>volume(10,10,10)# seront utilisés. Les paramètres réels seront transmis et le résultat de sortie sera 1000.
Grâce à l'exemple ci-dessus, si nous avons donné une valeur par défaut lors de la création de la fonction, alors les paramètres par défaut seront automatiquement utilisés si nous ne donnons pas de paramètres réels lors de l'utilisation de la fonction.
En Python, le nombre de paramètres d'une fonction peut être modifié, ce qui signifie que le nombre de paramètres peut être incertain. Ces paramètres sont appelés paramètres variables. Il existe deux types de paramètres variables. L'un consiste à ajouter * avant les paramètres. De cette façon, les paramètres variables sont transmis sous forme de tuples lors de leur transmission. L'autre consiste à ajouter ** avant les paramètres. les paramètres des variables sont passés sous forme de tuples. Les paramètres sont passés sous forme de dictionnaire lors de leur passage. Nous introduisons principalement la première méthode.
Regardez l'exemple suivant :
>>>defadd_number(*number):...add_num=0...foriinnumber:...add_num+=i...print(add_num)...>>>add_number(1,2,3,4,5 )15
Lors de l'utilisation de paramètres variables, ces paramètres seront stockés dans un tuple et transmis à la fonction, donc lorsque nous souhaitons utiliser ces paramètres, nous pouvons utiliser des valeurs de parcours ou d'index.
Le passage des paramètres des fonctions est à peu près le même. Si vous voulez bien apprendre les fonctions, vous devez maîtriser le passage des paramètres. Le passage correct des paramètres est crucial dans l'utilisation des fonctions.