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 :

gèrer des fonction


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Par défaut gèrer des fonction
    Salut
    j'ai écrit un programme en python tout en utilisant la bibliothèque GNURadio mais le problème est que je ne sait pas comment faire entrer le flux généré par la première fonction dans la deuxième fonction à titre d'exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    from gnuradio import gr
    from gnuradio import audio
    def a():
          f1=gr.flow_graph()
          src=audio.source(48000)
          return f1
    def b():
          f2=gr.flow_graph()
          dst=audio.sink(48000)
          return f2
    if __name__ == '__main__':
    ???

  2. #2
    Membre émérite
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Par défaut
    Fais quelque chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    from gnuradio import gr
    from gnuradio import audio
    def a():
          f1=gr.flow_graph()
          src=audio.source(48000)
          return f1
    def b(STREAM):
          Traitement STREAM
          f2=gr.flow_graph()
          dst=audio.sink(48000)
          return f2
    if __name__ == '__main__':
    Pour passer un argument dans une fonction, il faut lors de la definition de celle-ci lui indiquer qu'elle prendra un argument.

    Ensuite tu peux utiliser ta fonction avec comme argument le return d'une autre fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Par exemple  je ne sais pas comment marche GNURadio...
     
    Flux = a()
     
    Son = b(Flux)
    Je ne sais pas si j'ai été clair.
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  3. #3
    Membre confirmé
    Avatar de Zorro
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def a(c):
         return c * 2
    def b(d):
          return a(d) * 2
    if __name__ == '__main__':
         print b(4)
    ------------
    >>> 16
    Z

  4. #4
    Membre éclairé Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Par défaut
    Salut
    merci pour les prépenses mais malheureusement ça n'a pas marcher car il ne s'agit pas d'une fonction ordinaire "au moins pour moi car je ne sais presque rien en python", en faite la première fonction retourne un flux et pour se faire il faut le connecter à une source et une destination or je ne sais pas comment le faire entrer dans une fonction ,je crois que j'ai oublier de le signaler, voici le code si on veut definir une seule methode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    from gnuradio import gr
    from gnuradio import audio
    def a():
          f=gr.flow_graph()
          src=audio.source(48000)
          dst=audio.sink(48000)
          f.connect(src,dst)
          return f
    if __name__ == '__main__':
            m=gr.flow_graph ()
    	m.start ()
    	raw_input ('Press Enter to quit: ')
    	m.stop ()
    et merci

  5. #5
    Membre émérite
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Par défaut
    Je n'ai peut etre pas saisi ton intention. mais il y a un truc qui me chiffonne...

    Pourquoi definir une Fonction si tu ne t'en sert pas.

    Tu defnie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def a():
    blabla
    return f
    A un moment dans ton main elle doit apparaitre. Hors la elle n'est nulle part...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if __name__ == '__main__':
           # il faut utiliser la fonction a()
            m=gr.flow_graph ()
    	m.start ()
    	raw_input ('Press Enter to quit: ')
    	m.stop ()
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  6. #6
    Membre éclairé Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Par défaut
    Salut
    je m'excuse une autre fois en faite le main est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if __name__ == '__main__': # 
    m=a()  
    m.start ()  raw_input ('Press Enter to quit: ')  
    m.stop ()

  7. #7
    Membre émérite
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Par défaut
    Au fait le 48000 c'est quoi comme argument.... Si c'est la frequence d'un son si tu n'entends rien c'est normal car l'homme n'entant que sur 20Hz a 20kHz.

    Si c'est une frequence d'echantillonage c'est bon. Mais ce que je ne comprends pas, ou est ce que tu dis a ta fonction l'endroit ou est situé le flux, sur le disque ou via une url...

    Sinon tes appels sont correctes,donc je pense que ca vient de ta fonction.
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

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

Discussions similaires

  1. Liste des fonctions
    Par Mookie dans le forum C
    Réponses: 2
    Dernier message: 22/09/2003, 16h42
  2. Une unité pour gérer des très grands nombres
    Par M.Dlb dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2003, 12h07
  3. Des fonctions OGL pour les images de format usuel ?
    Par jamal24 dans le forum OpenGL
    Réponses: 3
    Dernier message: 31/05/2003, 21h59
  4. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33
  5. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19

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