Bonjour a tous,
Voici un probleme épineux que je n'arrive pas a résoudre,
Je définis une fonction contenant une autre fonction comme suis :
Voila donc ma belle fonction,et voici le probleme si j'écris celaCode:
1
2
3
4 def BigFunction(Param1,Param2): def SmallFunction(): print(Param1)
Ca fonctionne et j'ai comme résultat 45.Code:
1
2
3
4
5
6
7
8 def BigFunction(Param1,Param2): def SmallFunction(): print(Param1) SmallFunction() BigFunction(45,"yoyo")
Maintenant si je crée une fenetre Tk() en amont, et que je crée un Canvas appelé TheCan, et si j'écris ceci :
Eh beh ce code ne fonctionne pas, voici l'erreur généréeCode:
1
2
3
4
5
6
7
8 def BigFunction(Param1,Param2): def SmallFunction(event): print(Param1) TheCan.bind('<Button-1>',SmallFunction) BigFunction(45,"yoyo")
Si j'ai bien compris, cela signifie que Param1 n'existe tout simplement pas !Code:
1
2"UnboundLocalError: local variable 'Param1' referenced before assignment"
Mais comment est-ce possible étant donné qu'elle est censée etre globale a toute la fonction BigFunction.Une âme charitable voudrait-elle bien m'aider?
Merci d'avance.