Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / problème fonction / débutant

problème fonction / débutant

Remonter à Forum général Python
  • problème fonction / débutant

    Envoyé par vaisje le 21 Avril 2010 à 07:12

    Bonjour,
    J'ai commencé le livre de G Swinnen...
    Il montre un exemple pour définir une fonction (calcul table de multiplication) :
    j'écrit le programme...
    def table5()....

    sur la même page je tape table5() et là défile la table ... donc pas de problème
    J'enregistre le fichier puis je ferme
    J'ouvre une nouvelle page j'appelle la fonction table5() et là rien...
    Je me dis alors que ça doit pas être normal et que l'on doit pouvoir appeler la fonction même si on est pas sur le fichier source (je crois que c'est comme ça qu'on dit ?)

    Si une bonne âme pouvait "perdre" 5 minutes pour m'aider...
    Merci
    • Re: problème fonction / débutant

      Envoyé par vaisje le 21 Avril 2010 à 21:22
      ça marche pas ^^ :(
      mon fichier s'appelle tabcinq

      >>> from tabcinq import*

      Traceback (most recent call last):
      File "", line 1, in
      from tabcinq import*
      ImportError: No module named tabcinq
    • Re: problème fonction / débutant

      Envoyé par bibile le 21 Avril 2010 à 08:20
      pour pouvoir utiliser ta fonction table5() qui se trouve (par exemple) dans un fichier ma_source.py

      et bien, dans ton 2ieme fichier, tu peux faire

      import ma_source
      ma_source.table5()


      ou bien
      from ma_source import table5
      table5()


      • Re: problème fonction / débutant

        Envoyé par vaisje le 21 Avril 2010 à 21:10
        Merci beaucoup ! c'est très sympa de ta part, je vais essayer et je te dirai
        A plus :)
    • Re: problème fonction / débutant

      Envoyé par jice le 21 Avril 2010 à 08:41
      Il existe également une autre solution
      from ma_source import *
      table5()

      Je la mentionne à titre d'info mais celle ci n'est pas à favoriser. La première solution est celle que je préfère car :
      - on sait d'où vient la fonction appelée sans avoir besoin de regarder les ligne d'import, ce qui prend tout son sens lorsque l'on commence à maintenir des projets où des dizaines de modules sont importés un peu partout.
      - cela garantit qu'il n'y aura pas de problème si plusieurs modules ont une fonction du même nom
      • Re: problème fonction / débutant

        Envoyé par vaisje le 21 Avril 2010 à 21:11
        Même réponse qu'à Bibile,
        Merci beaucoup ! c'est très sympa de ta part, je vais essayer et je te dirai
        A plus :)
Rendu par Ploneboard