salut
Je veux partager avec vous cette expérience qui montre le comportement, à mon avis bizzare, de python
j’ai un classe “Maclasse” qui possede une méthode “mettreAjourMatriceRotation” :
class MaClasse:
def mettreAjourMatriceRotation (self):
q[0]=self.quaternion[0]
L’exécution donne le message d’erreur suivant :
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "principale.py", line 59, in run
self.main()
File "principale.py", line 75, in main
self.mettreAjourMatriceRotation()
File "principale.py", line 175, in mettreAjourMatriceRotation
q[0]=self.quaternion[0]
NameError: global name 'q' is not defined
Le message est correcte, “q” n’a pas été définie aupravant. Ce qu’il me dérange c’est le code suivant :
class MaClasse:
def mettreAjourMatriceRotation (self):
t=0
if t == 0 :
return
q[0]=self.quaternion[0]
malgré que je n’ai pas déclaré “q”, le code a fonctionné .
Que-est-ce vous en pensez ?