Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
le blog de Poseidon627
1 avril 2008

Python : Les fonctions : Nombre de paramètres variable

Voici comment écrire une fonction dont le nombre de paramètres peut être variable.

Deux formes possibles d'écritures :

    1/    *ident1      : l'appel à la fonction fournit un nombre variable de paramètres (param. par position)
    2/    **ident2    : l'appel à la fonction fournit un nombre variable de paramètres (param. par nom)

Mais voyons plutôt des exemples, ce qui aidera à la compréhension

Méthode 1/

Code :

        #!/usr/bin/env python

        def total(*nb):
            return sum(nb)
   
        print total(15, 55, 102, 300)


Résultat
:

    ./somme1.py
    472

Méthode 2/

Code :

        #!/usr/bin/env python

        def operation(**cle):
            total = cle['valeur']
   
            if 'add' in cle:
                total += cle['add']
            if 'mult' in cle:
                total *= cle['mult']
       
            return total
   
        print operation(valeur = 10, add = 50, mult = 5)

Résultat :

    ./somme2.py
    300

Sachez qu'il est également possible de combiner les deux formes.
Dans ce cas, la forme * sera placée avant **

Code :

        #!/usr/bin/env python

        def operation(*nb, **cle):
            total = cle['valeur']
   
            if 'add' in cle:
                total += cle['add']
            if 'mult' in cle:
                total *= cle['mult']
       
            return sum(nb), total
   
        print operation(10, 20, 30, valeur = 10, add = 50, mult = 5)

Résultat
:

    ./somme2.py
    (60, 300)

Publicité
Commentaires
le blog de Poseidon627
Publicité
Derniers commentaires
Publicité