[Tutor] lambda

Danny Yoo dyoo at hashcollision.org
Sat Jan 26 01:25:22 CET 2013


On Fri, Jan 25, 2013 at 4:57 PM, anthonym <anthonym at att.net> wrote:

> I have the code below that I used to create a simple tic tac toe game for
> class.  I am learning Python but have programmed in C+ before so I brought
> over a lambda and found that it worked in Python.  Unfortunately 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.


The code is expressing the idea of referring to a function, not to
call it immediately, but rather to pass it as a value for someone else
to call.  This is something that's expressible in C++ too.

    http://en.wikipedia.org/wiki/C%2B%2B11#Lambda_functions_and_expressions

But you probably won't see this in beginner-level code.

Dealing with functions as values is important to learn, though, if you
want to build an intermediate mastery of programming.  The concept is
a key component to things like event-driven programming, where you
tell some other system what to do when certain things happen.  That
"what to do" is usually expressed by passing the thing a function
value.

In traditional C++, the kind of C++ you'd see several years ago, you
can do the same sort of thing by passing around objects that have a
virtual method.  In that way, you can have a "function-like" value
that can be passed and called.


More information about the Tutor mailing list