Bonjour à tous,

actuellement, je travaille sur le déploiement d'un moteur de calcul pour un centre de recherche.

Je me suis vite rendu compte d'une croyance que j'ai eu s'est révélée fausse en codant. Je préfère mettre un exemple ; ça sera plus parlant à mon humble avis.

Soit le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
""" petit test """
 
import numpy as np
 
class T(object):
 
    def __init__(self,a,b,c):
        self.a = a
        self.b = b
        self.c = c
        "self.vect = np.ones(3)"
 
    def __calcul__(self):
        self.a = self.a+1
        self.b = self.b+1
        self.c = self.c+1
        self.vect = np.array([self.a,self.b,self.c])
        return self.vect
 
class TT(T):
 
    def __init__(self,a,b,c):
        T.__init__(self,a,b,c) # on obtient le 1er self.vect #
        self.vect3 = []
 
    def __calcul__(self):
        T.__calcul__(self) # 1er calcul #
        print T.__calcul__(self)
        self.d = 2*self.a  # e doit valoir 4 #♦
        self.e = 2*self.b  # // #
        self.f = 2*self.c  # // #
        self.vect2 = np.array([self.d,self.e,self.f])
        #return self.vect2
        for i in range(len(self.vect)):
            self.vect = self.vect2
            print self.vect
            self.vect2 = 2*self.vect
            print self.vect2
            self.vect  = self.vect2
            print self.vect
            T.__calcul__(self)
            print T.__calcul__(self)
Mon problème c'est que je désire qu'à chaque itération recalculer la valeur de mon vecteur self.vect et réinjecter ladite valeur dans T.__calcul__(self) ce que
je n'obtiens pas évidemment. Je dois faire ce même procéder pour diverses méthodes jusqu'à atteindre un certain seuil et optimiser le temps de calcul.
Pour le moment, je suis 'bloqué'. Je pensais à tort que par le mot clé self, 'l'injection' se faisait automatiquement en appelant de nouveau la méthode T.__calcul__(self).

Merci à vous tous par avance de votre aide.

Cordialement,

KM