Returning values from a lambda
John McMonagle
johnmc at velseis.com.au
Thu Nov 15 21:07:05 EST 2001
More information about the Python-list mailing list
Thu Nov 15 21:07:05 EST 2001
- Previous message (by thread): A modest proposal (continued)
- Next message (by thread): Returning values from a lambda
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
William Tanksley wrote: > On Fri, 16 Nov 2001 10:36:06 +1000 (EST), John McMonagle wrote: > >>I wish to return values from a lambda function which is bound to the >>Tkinter button command option. For example, >> > > Wait a second. You don't want to return values; you want to modify > variables. There's a HUGE difference; lambdas can do the first, but they > don't support any of the syntax to do the second. > > The solution is to not use a lambda. Just define a function which > modifies the variables you need, and pass that function's name in place of > the lambda. But I need to use a lambda in order to pass arguments to the function. > > >>def operations(a,b): >> return a+b, a*b >> > > def operations(a,b): > x = a+b > y = a*b > Indeed I could do it like that, but I would need to define globals for x and y. Can this be done without using globals ? >>from Tkinter import * > >>root = Tk() >>btn = Button(root, text='Press Me', command=lambda a=2, b=5: operations(a,b)) >>btn.pack() >> > > With the function I've defined, things should work. > > >>John >> >
- Previous message (by thread): A modest proposal (continued)
- Next message (by thread): Returning values from a lambda
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list