Evaluation d'un nom de fonction
Please help :cry:
J'essaie d'évaluer le nom d'une fonction, mais pour le moment je me contente simplement de l'objet puisque même ça, ça ne marche pas.
Le but est de récupérer l'objet représentant la fonction en vue de travailler avec son prototype, ses arguments etc..
Le problème : eval("nom_variable.nom_fonction") ne fonctionne pas :?
Ce qui provoque cette erreur : apparemment nom_variable n'est pas déclaré dans l'instance de classe courante (???)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
NB_LIB = 7
class Librairies:
def __init__(self, environnement):
self.__env = environnement # Reference sur l'environnement
self.__lib = [] # Ensemble des librairies fonctionnelles
for i in range(NB_LIB):
self.__lib.append(None)
def getLibFonction(self, fonction):
print self.__lib[0] # marche
print eval("self.__lib[0]") # marche pas
# ... |
None
Traceback (most recent call last):
File "C:\PROGRA~1\lib\site-packages\Pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
exec codeObject in __main__.__dict__
File "P:\travail\solution\Start.py", line 121, in ?
main()
File "P:\travail\solution\Start.py", line 119, in main
st=Start("P:\\travail\\solution\\test3.xml")
File "P:\travail\solution\Start.py", line 27, in __init__
self.__executerJeuDeTests()
File "P:\travail\solution\Start.py", line 63, in __executerJeuDeTests
init.executer()
File "P:\travail\solution\Test.py", line 71, in executer
lib = self.getLibrairies().getLibFonction(self.__fonction)
File "P:\travail\solution\Librairies.py", line 40, in getLibFonction
File "<string>", line 0, in ?
AttributeError: Librairies instance has no attribute '__lib'