IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

quesako: *arg et **kw ?


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Par défaut quesako: *arg et **kw ?
    Bonjours,

    je développe actuellement une application (enfin, développer, c'est un grand mot) et je souhaite integrer un petit morceau de code que je n'ai pas écrit moi-même. Il provient d'un module (tkSnack) que j'utilise. Or, dans cette petite classe, on ne peut l'appeler qu'avec les arguments *arg et **kw. Mais je ne trouve nulle part la définition de ces variables dans le programme.
    Par contre, je recontre ces arguments dans le code de Tkinter. Ma classe ne peut s'en passer.

    Que signifient ils ? comment puis-je integrer ce morceau de programme à mon code ?

    merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Par défaut erratum
    j'ai trouvé tout seul ! c'était une simple bêtise d'appel. Enfin, je ne sais toujours pas ce que cela signifie, mais ca marche...

  3. #3
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    def fonc(p, *lp, **dp): ...
    p est un paramètre simple
    *lp est une liste
    **dp est un dictionnaire

    *lp et **dp permet de créer des fonctions ou les paramètres d'appels ne sont pas entièrement défini:
    *lp signifie que l'on peut ajouter autant de paramètre (sans les nommer) que l'on veut
    **lp signifie que l'on peut ajouter autant de paramètre (en les nommant) que l'on veut

    exemple
    en appelant: fonc(4, 'k1', 3, param1 = 5, param2 = 'k2'), la fonction va récupérer comme paramètre p=4, lp = ['k1', 3] et dp = {'param1' = 5, 'param2' = 'k2}



    Comme on ne peut pas créer plusieurs fonctions ayant le même nom avec un nombre différents de paramètres, on utilise ce type d'argument pour faire la même chose.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Perl - C : Passer des args a une fonction C
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 01/05/2006, 10h35
  2. Réponses: 7
    Dernier message: 02/12/2005, 13h02
  3. [J2SE] intérêt du final dans : fonction( final int arg) ?
    Par guile.rondins dans le forum Langage
    Réponses: 4
    Dernier message: 20/07/2005, 16h03
  4. [Debutant(e)]arg du main
    Par nawel dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 19/04/2005, 19h47
  5. Réponses: 5
    Dernier message: 04/11/2004, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo