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 :

import et classe [Python 3.X]


Sujet :

Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut import et classe
    Bonjour,

    Je cherche depuis un moment mais je ne comprend pas mon problème !

    J'ai un fichier MyUtil.py avec des fonction dedans (rien de spéciale !)

    J'ai un fichier maclass.py avec une classe dedans (rien de spéciale !)

    Je voudrais utiliser dans ma classe une des fonctions du fichier myutil.py mais j'ai toujours ce type d'erreur :

    AttributeError: 'MaClass' object has no attribute 'MaFonction' ????
    Ficher MyUtil.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    def compareTuples(self, T1, T2, len=0 ):
        index = 0
        length = len
        if len == 0:
            length = len(T1)
        print("length = "+str(length) )
        while index < length:
            # on applique une tolerence de 2 pour les valeurs
            if isclose( T1[index], T2[index], abs_tol = 2 ):
                index += 1
            else:
                return False
        return True
    Mon fichier maclass.py (une partie !)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    from MyUtil import compareTuples
     
    class dataJson():
        def __init__ (self, repBase ):
            print( "dataJson __init__")
     
        def ma methode (self, param )
            ...
            if compareTuples( Face, fface, 4 ) == True:
                ....
    Et la toujours une erreur, j'ai testé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    from MyUtil import *
    from MyUtil import compareTuples
    import MyUtil
    Et dans le code avec compareTuples, MyUtil.compareTuples, ...

    Je fait quoi de mal ;-)

    Merci
    Steph

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par stephbb75 Voir le message
    Bonjour,

    Je cherche depuis un moment mais je ne comprend pas mon problème !
    ...
    Je répond moi même finalement.

    J'ai finalement passe un temps fous sur ce problème, qui est du au self qui se trouve dans les paramètres de ma fonction (Et qui bien sur ne sert à rien la !!!!)...

    def compareTuples(self, T1, T2, len=0 ):

    Résolut...

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 685
    Points : 30 974
    Points
    30 974
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par stephbb75 Voir le message
    Je répond moi même finalement.
    Tu as enfin lu le message d'erreur, lequel devait probablement parler du nombre d'arguments ne correspondant pas au nombre de paramètres...

    Citation Envoyé par stephbb75 Voir le message
    Résolut...
    Bon ben on va quand-même optimiser un peu, histoire que tu ne sois pas venu pour rien. Car déjà nommer une variable du même nom qu'une fonction (ie "len")...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def compareTuples(T1, T2, length=0):
        print("length = "+str(length or len(T1)))            # Je présume que cette ligne de debug devrait disparaitre...
        return not any(not isclose(T1[index], T2[index], abs_tol = 2) for index in range(length or len(T1)))
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    ...
    Tu as enfin lu le message d'erreur, lequel devait probablement parler du nombre d'arguments ne correspondant pas au nombre de paramètres...
    Bas justement le message d'erreur ne m'avais pas mis sur cette voie :

    AttributeError: 'MaClass' object has no attribute 'MaFonction'

    Bon ben on va quand-même optimiser un peu...
    Merci, oui il y a encore du debug dedans et oui c'est pas bien malin le nom de la variable comme un nom de fonction ;-)
    Mais au final c'est pas bien grave pour l’interpréteur :-O

    Mais il faut faire attention quand on parle d’optimisation (il est vrais qu'en python je ne peut pas en parler de trop je débute) mais en C il faut se méfier ;-)

    L’optimisation c'est quand le code vas plus vite, pas simplement quand il prend mois de place à l'écriture ;-)

    Steph

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/12/2005, 09h01
  2. [C#]Importer une classe
    Par bolo dans le forum ASP.NET
    Réponses: 15
    Dernier message: 09/11/2005, 13h01
  3. Réponses: 3
    Dernier message: 15/10/2004, 19h41
  4. [Debutant(e)]importer une classe
    Par ber_jp dans le forum Eclipse Java
    Réponses: 18
    Dernier message: 12/05/2004, 17h39
  5. [ JSP ] [ Tomcat ] importer une classe perso
    Par captainpouet dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 11/03/2004, 11h30

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