[Tutor] lambda
anthonym
anthonym at att.net
Sat Jan 26 01:35:44 CET 2013
Thanks Alan. I prefer the lambda too. Especially given how much code I
saved. I forgot about i and j being dynamic and the call function.
On 1/25/13 4:14 PM, "Alan Gauld" <alan.gauld at btinternet.com> wrote:
>On 25/01/13 23:57, anthonym wrote:
>
>> I don't think my classmates will understand the use of lambda here but I
>> am having are hard time converting that to strictly python.
>
>lambdas are strictly python but they can be easily reanslated into a
>named function as
>
>lambda p: expr
>
>becomes
>
>def f(p):
> return expr
>
>so in your case
>
> > b[i][j] = Button(font=('Aerial', 56), width=3, bg='yellow',
> > command = lambda r=i,c=j: ttt(r,c))
>
>becomes
>
>def bCmd(r=i,c=j):
> return ttt(r,c)
>
>b[i][j] = Button(font=('Aerial', 56), width=3, bg='yellow',
> command = bCmd)
>
>Your problem of course is that you need i and j to be dynamically
>defined so you need to create and call a function that returns a
>function like this
>
>def buttonFunMaker(i,j):
> def func(x=i,y=j):
> return ttt(x,y)
> return func
>
>b[i][j] = Button(font=('Aerial', 56), width=3, bg='yellow',
> command = buttonFunMaker(i,j))
>
>Personally I prefer the lambda...
>
>HTH
>
>--
>Alan G
>Author of the Learn to Program web site
>http://www.alan-g.me.uk/
>
>_______________________________________________
>Tutor maillist - Tutor at python.org
>To unsubscribe or change subscription options:
>http://mail.python.org/mailman/listinfo/tutor
More information about the Tutor
mailing list