Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

Parametres Speciaux


Pour une fonction, il existe des paramètres spéciaux capable d'intercepter un nombre indéfini de valeurs. La signature de la fonction devient polymorphique.

*args
placé à la fin de la liste des paramètres, cette variable agrège dans un tuple tous les paramètres qui n'ont pas été définis.
 >>> def toto(x, *args):
 ...     print args
 ... 
 >>> toto(5, 2, 'a')
 (2, 'a')
**kw
placé juste après *args, cette variable intercepte tous les paramètres nommés qui restent. Ils sont rangés dans un dictionnaire.
  >>> toto(5, 'a', r = 2)
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  TypeError: toto() got an unexpected keyword argument 'r'
  >>>
  >>> def toto(x, *args, **kw):
  ...     print args
  ...     print kw
  ... 
  >>> 
  >>> toto(5, 2, 'a')
  (2, 'a')
  {}
  >>> toto(5, 'a', r = 2)
  ('a',)
  {'r': 2}

Ces paramètres spéciaux sont à utiliser avec parcimonie.

Page Actions

Recent Changes

Group & Page

Back Links