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 :

Appel de fonction


Sujet :

Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Par défaut Appel de fonction
    Bonjour,

    Une question concernant l'appel de fonction en Python.
    Je voudrais classiquement inclure dans le corps de la fonction appellante une référence vers un fichier contenant le code la fonction appelée.
    Ainsi le code de cette fonction pourra etre centralisée à un seul endroit.

    En C on utilise l'instruction #include<nom fichier contenant fonction>
    (avec d'ailleurs le seul nom de la fonction puisque le C est compilé et que les références ne sont résolues qu'à l'éditions des liens)

    J'ai cru comprendre qu'il faille utiliser l'instruction "import" nomdu fichier contenant la fonction, mais je rencontre des problèmes.

    Tous mes fichiers sources sont contenus dans le meme répertoire.

    Merci d'avance.

    jcmic

  2. #2
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Bonsoir.

    Le cas le plus simple est le suivant.

    Soit le fichier monFichier.py contenant une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #! /usr/bin/env python
    #coding=utf-8
     
    def maFonction(x):
        print x**2
    Voici maintenant un fichier appelant cette fonction (les deux fichiers sont dans le même dossier) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #! /usr/bin/env python
    #coding=utf-8
     
    import monFichier
     
    monFichier.maFonction(5)
    En lançant ce second fichier on obtient :
    J'espère que ceci t'aidera.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Par défaut
    Ok, merçi , ça marche à présent.
    En fait je ne m'en sortait pas, car mes fichier n'étaient pas suffixés par .py.

    En effet, lorsque je les avaient crées sous le shell de Python, par défault il n'y avait aucune extension de nom proposé.
    Ainsi mon programme principal ne trouvait jamais le fichier contenant la fonction car il cherchait un .py.

    Encore merci et Bonne soirée

    jcmic

Discussions similaires

  1. Appeler une fonction avec "action" ds un
    Par drinkmilk dans le forum ASP
    Réponses: 4
    Dernier message: 20/04/2004, 14h54
  2. Réponses: 4
    Dernier message: 19/04/2004, 13h41
  3. [JSP] Appeler une fonction
    Par Patrick95 dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 23/12/2003, 13h44
  4. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33
  5. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48

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