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 cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 def BigFunction(Param1,Param2): def SmallFunction(): print(Param1)
Ca fonctionne et j'ai comme résultat 45.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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ée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Partager