You are here: Sommaire > Plongez au coeur de Python > Le pouvoir de l’introspection > Arguments optionnels et nommés | << >> | ||||
Plongez au coeur de PythonDe débutant à expert |
Python permet aux arguments de fonction d’avoir une valeur par défaut, si la fonction est appelée sans l’argument il a la valeur par défaut. De plus, les arguments peuvent être donnés dans n’importe quel ordre en utilisant les arguments nommés. Les procédures stockées de Transact/SQL sous SQL Server peuvent faire la même chose, si vous êtes un as des scripts sous SQL Server, vous pouvez survoler cette partie.
Voici un exemple de info, une fonction avec deux arguments optionnels :
def info(object, spacing=10, collapse=1):
spacing et collapse sont optionnels car ils ont des valeurs par défaut définies. object est obligatoire car il n’a pas de valeur par défaut. Si info est appelé avec un seul argument, spacing prend pour valeur 10 et collapse la valeur 1. Si info est appelé avec deux arguments, collapse prend encore pour valeur 1.
Imaginez que vous vouliez spécifier une valeur pour collapse mais garder la valeur par défaut pour spacing. Dans la plupart des langages, vous ne pouvez pas le faire, vous auriez à spécifier les trois arguments. Mais en Python, les arguments peuvent être spécifiés par leur nom, dans n’importe quel ordre.
info(odbchelper) info(odbchelper, 12) info(odbchelper, collapse=0) info(spacing=15, object=odbchelper)
Cela a l’air confus jusqu’à que vous réalisiez que les arguments sont tout simplement un dictionnaire. La manière «normale» d’appeler les fonctions sans le nom des arguments est en fait un raccourci dans lequel Python fait correspondre les valeurs avec le nom des arguments dans l’ordre dans lequel ils sont spécifiés par la déclaration de fonction. Dans la plupart des cas, vous appellerez le fonctions de la manière «normale», mais vous aurez toujours cette souplesse pour les autres cas.
La seule chose que vous avez à faire pour appeler une fonction est de spécifier une valeur (d’une manière ou d’une autre) pour chaque argument obligatoire, la manière et l’ordre dans lequel vous le faites ne dépendent que de vous. |
<< Le pouvoir de l’introspection |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
Utilisation de type, str, dir et autres fonction prédéfinies >> |