voici un test simple de la fonction 'lambda' par rapport a une fonction utilisant 'global'
Je ne comprend pas du tout pourquoi le résultat est différent entre l'action du bouton 1 et du bouton 2.
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 import Tkinter as tk x=5 def ajout(x): x=x+2 print 'x ajout ='+str(x) def ajoutglob(): global x x=x+2 print 'x ajout ='+str(x) print 'x initial=' +str(x) root=tk.Tk() tk.Button(root,text='Action 1',command=ajoutglob).grid() tk.Button(root,text='Action 2',command=lambda x=x:ajout(x)).grid() tk.Button(root,text='fermer',command=root.quit).grid() root.mainloop() root.destroy() print 'x final='+str(x)
peut être ai je pas compris l'interet de lambda????
qqu'un peut m'expliquer![]()
Partager