Se connecter
Se connecter

ou
Créer un compte

ou
Agrandir
Les Mains dans le Cambouis
Bidouille & Développement Informatique

Le pub des programmeurs

  • 1 927 réponses
  • 117 participants
  • 123 872 vues
  • 130 followers
Sujet de la discussion Le pub des programmeurs
Salut :coucou: y a des programeurs sur AF si oui vous bossez sous quoi ?
Afficher le sujet de la discussion
1681
Si _query n'est pas une methode d'instance de monInstrument, tu ne peux pas appeler self._query

donc il faut soit que tu déclares (et implémente) une méthode d'instance _query dans la classe monInstrument, soit que tu fasse hériter monInstrument d'une classe qui a déjà cette méthode, soit que tu apelles _query pour une instance d'une classe qui l'a (et pas self, qui est la référence à l'instance courante) ;)

[ Dernière édition du message le 28/06/2017 à 20:37:38 ]

1682
Tout d'abord, le dernier import visa n'est pas utile, il est fait dans l'import suiavnt, et tu n'as pas besoind e visa.
Ensuite, effectivement, tu as un problème avec _query, et je suppose que tu as un _query qui est défini, mais le '_' rend la fonction cachée. Si tu fais un dir(objet), tu devrait voir qu'il y a un moninstrucmentdriver_query et non un _query.
1683
x
Hors sujet :

Citation de EraTom :
Citation :
First make it work, then make it good, finally, make it awesome
Bof... On s'expose à rustiner encore et encore une archi qui aurait dû être pensée dès le début.


Dans un contexte industriel dans lequel tu développes un produit potentiellement complexe, qu'il va falloir maintenir, faire évoluer, etc.. je suis entièrement d'accord.

Ici on est manifestement dans un contexte de hobby, et vu la question posée, face à un dev ayant peu d'expérience (no disrespect @Patrick Truelle), et une des premières réponses parlait de classes et d'héritage.

Un design OO va demander une certaine expérience en architecture logicielle et un investissement en temps pour faire bien. Et si au final, il n'y a jamais qu'une seule instance de l'objet et seulement une poignée de méthodes, ce temps pourrait être employé de manière plus optimale en restant dans un simple programme procédural et en convergeant plus vite vers la fonctionnalité souhaitée.
Ce n'est bien sûr que mon avis.


Au sujet de _query, j'utilise très peu le système de classe de python.
Il me semble que rien n'est privé et que donc si _query est définie, tu devrais pouvoir l'appeler.

@Patrick Truelle: dans ce genre de cas, c'est plus facile d'aider si tu postes la trace que python imprime lorsque l'erreur arrive.

Resistance is not futile... it's voltage divided by current

1684
Il y a un mécanisme privé qui fonctionne quand la méthode commence par _.
1685
Citation de aaB :
x
Hors sujet :

Citation de EraTom :
Citation :
First make it work, then make it good, finally, make it awesome
Bof... On s'expose à rustiner encore et encore une archi qui aurait dû être pensée dès le début.


Dans un contexte industriel dans lequel tu développes un produit potentiellement complexe, qu'il va falloir maintenir, faire évoluer, etc.. je suis entièrement d'accord.

Ici on est manifestement dans un contexte de hobby, et vu la question posée, face à un dev ayant peu d'expérience (no disrespect @Patrick Truelle), et une des premières réponses parlait de classes et d'héritage.

Un design OO va demander une certaine expérience en architecture logicielle et un investissement en temps pour faire bien. Et si au final, il n'y a jamais qu'une seule instance de l'objet et seulement une poignée de méthodes, ce temps pourrait être employé de manière plus optimale en restant dans un simple programme procédural et en convergeant plus vite vers la fonctionnalité souhaitée.
Ce n'est bien sûr que mon avis.


Au sujet de _query, j'utilise très peu le système de classe de python.
Il me semble que rien n'est privé et que donc si _query est définie, tu devrais pouvoir l'appeler.

@Patrick Truelle: dans ce genre de cas, c'est plus facile d'aider si tu postes la trace que python imprime lorsque l'erreur arrive.
Oui c'est vrai ; je suis un peu trop formaté industrie et même pour mes bidouilles chez moi je griffonne des spec icon_facepalm.gif
1686
x
Hors sujet :

Citation de miles1981 :
Il y a un mécanisme privé qui fonctionne quand la méthode commence par _.


Je viens de faire un simple test.
Une méthode préfixée par _ peut tout à fait être appelée depuis une instance de la classe.
Par contre, si une seconde classe hérite de la première, elle n'hérite pas des méthodes "privées", du moins en python 3.
C'est probablement plus subtil dans un vrai design (par opposition à une dizaine de lignes pour voir si ça marche), mais je ne suis pas un spécialiste de l'OO.

Ce qui m'amène à:


@Patrick Truelle: ta methode _query ne serait-elle pas une méthode "privée" d'une classe dont ta classe hérite?
J'imagine que tu dois pouvoir faire un truc du genre (pas testé, il faudra certainement lire la doc pour savoir comment faire ça bien de manière pythonique):

class p:
    def __init__(self):
        # init code
    
    def _query(self):
        # do something

class c(p):
    def __init__(self):
        self.query = p._query

Resistance is not futile... it's voltage divided by current

[ Dernière édition du message le 29/06/2017 à 19:37:14 ]

1687
Citation de aaB :
x
Hors sujet :

Citation de miles1981 :
Il y a un mécanisme privé qui fonctionne quand la méthode commence par _.


Je viens de faire un simple test.
Une méthode préfixée par _ peut tout à fait être appelée depuis une instance de la classe.
Par contre, si une seconde classe hérite de la première, elle n'hérite pas des méthodes "privées", du moins en python 3.
C'est probablement plus subtil dans un vrai design (par opposition à une dizaine de lignes pour voir si ça marche), mais je ne suis pas un spécialiste de l'OO.

Ce qui m'amène à:


Ah, ça doit être ça. C'est accessible en mettant le nom de la classe héritée devant le nom de la méthode.
1688
Je serai à nouveau à Londres en Novembre à l'Audio Developer Conference 2017, en partenariat avec JUCE / ROLI, pour faire une présentation en anglais qui s'appellera "Fifty Shades of Distortion" (Cinquante nuances de distorsion), et elle sera probablement enregistrée pour être mise sur Youtube comme les autres années ! :bravo:

(je repars bosser mon accent anglais) :mdr:

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud

1689
1690
Citation de Wolfen :
Je serai à nouveau à Londres en Novembre à l'Audio Developer Conference 2017, en partenariat avec JUCE / ROLI, pour faire une présentation en anglais qui s'appellera "Fifty Shades of Distortion" (Cinquante nuances de distorsion), et elle sera probablement enregistrée pour être mise sur Youtube comme les autres années ! :bravo:

(je repars bosser mon accent anglais) :mdr:

Cool ! On se verra sur le thème de la dispo, je ferai un talk sur l'optimisation de la modélisation d'un circuit de distortion (j'hésite entre SD1/TS9 et un circuit plus classique).