Maison  >  Article  >  développement back-end  >  Explication détaillée des paramètres dans les fonctions Python

Explication détaillée des paramètres dans les fonctions Python

Y2J
Y2Joriginal
2017-05-08 16:33:231173parcourir

Quand je lisais "Python Core Programming" hier, il m'est arrivé de voir la partie fonction, je vais donc résumer tous les types de paramètres centralisés que j'ai rencontrés jusqu'à présent^^

( 1) Paramètres de position, lors de l'appel de la fonction, transmettre les paramètres par position

(2) Le paramètre par défaut , c'est-à-dire la valeur du paramètre est donnée lorsque le La fonction est définie. Il y a deux points à prendre en compte lors de la définition des paramètres par défaut. Premièrement, les paramètres requis viennent en premier et les paramètres par défaut viennent en dernier. La seconde consiste à mettre les paramètres avec de petites modifications à la fin et à les utiliser comme paramètres par défaut. Lorsqu'une fonction avec des paramètres par défaut est appelée, les paramètres par défaut n'ont pas besoin d'être transmis. Si la valeur du paramètre par défaut doit être modifiée, la fonction peut être appelée sous forme d'affectation. Si les paramètres par défaut ne sont pas fournis dans l'ordre, les noms des paramètres doivent être écrits (c'est-à-dire sous forme d'affectation). Les paramètres par défaut doivent pointer vers des paramètres inchangés (c'est-à-dire des objets inchangés, les données à l'intérieur de l'objet ne peuvent pas être modifiées une fois créées et aucun verrouillage n'est requis lors de la lecture simultanée d'objets dans un environnement multitâche)

(3) Paramètres variables , c'est-à-dire que le nombre de paramètres transmis est variable. Étant donné que le nombre de paramètres est incertain, nous pouvons transmettre les paramètres sous forme de liste ou de tuple, et utiliser la for boucle pour y accéder. Si vous utilisez directement des paramètres variables, la définition de paramètres variables nécessite uniquement l'ajout d'un signe * devant les paramètres par rapport à la définition de paramètres de liste ou de tuple. Le paramètre interne de la fonction reçoit un tuple, donc le code de la fonction reste complètement inchangé. Cependant, n'importe quel nombre de paramètres, y compris 0 paramètre, peut être transmis lors de l'appel de la fonction. S'il existe déjà une liste ou un tuple et que vous souhaitez appeler un paramètre variable, il existe deux méthodes : supprimer chaque paramètre séparément et le transmettre. La seconde consiste à ajouter un signe * devant pour transformer les éléments de la liste ou du tuple en paramètres variables et les transmettre.

(4) Paramètres de mots clés , les paramètres variables vous permettent de transmettre 0 ou n'importe quel nombre de paramètres, qui sont automatiquement assemblés dans un tuple lorsque la fonction est appelée. Les paramètres de mots-clés vous permettent de transmettre 0 ou n'importe quel nombre de paramètres contenant des noms de paramètres. Ces paramètres de mots-clés sont automatiquement assemblés dans un dict à l'intérieur de la fonction. Si le paramètre mot-clé transmis est dict, vous pouvez ajouter deux signes ** devant le paramètre dans la fonction.

(5) Paramètre de mot-clé nommé , utilisé pour limiter le nom du mot-clé. Contrairement aux paramètres de mot-clé **kw, les paramètres de mot-clé nommés nécessitent un séparateur spécial * et les paramètres qui suivent * sont considérés comme des paramètres de mot-clé nommé. S'il existe déjà un paramètre variable dans la définition de la fonction, le paramètre nommé qui suit n'a pas besoin de séparateur spécial *. Les paramètres de mots clés nommés doivent être transmis dans le nom du paramètre, qui est différent des paramètres de position. Si aucun nom de paramètre n’est transmis, l’appel signalera une erreur.

Remarque : L'ordre de définition des paramètres est le suivant : paramètres obligatoires, paramètres par défaut (des objets immuables doivent être utilisés), paramètres variables, paramètres de mots-clés nommés, paramètres de mots-clés def f(a,b,c= 0,* ,d,**kw), n'importe quelle fonction peut être appelée sous la forme similaire à fun(*arg,**kw), quelle que soit la façon dont ses paramètres sont définis.

*arg est un paramètre variable, arg reçoit un tuple

**kw est un paramètre de mot-clé, kw reçoit un dict

Les paramètres variables peuvent être transmis directement Entrée : fun(1,2,3), Vous pouvez d'abord assembler la liste ou le tuple, puis le transmettre via *arg : func(*(1,2,3));

Les paramètres de mots clés peuvent être transmis directement : fun(a=1,b=2), Vous pouvez également assembler d'abord le dict, puis le transmettre * *kw entrant : function(**{‘a':1,'b':2})

【相关推荐】

1. " target="_self">Tutoriel vidéo gratuit Python<code>1. <a href="http://www.php.cn/course/list/30.html" target="_self">Python免费视频教程</a>

2.<a href="http://www.php.cn/course/306.html" target="_self">Vidéo d'explication complète de la grammaire de base de Marco Education Python<code>2.<a href="http://www.php.cn/course/306.html" target="_self">马哥教育python基础语法全讲解视频</a>

3 <a href="http://www.php.cn/course/%2032.%20.html" target="_self">Tutoriel d'introduction de base de Python<code>3. <a href="http://www.php.cn/course/32.html" target="_self">Python基础入门教程</a>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn