[Tutor] the lambda func

devayani barve devayani.barve at gmail.com
Thu Jul 6 13:06:34 CEST 2006


Hi,
I have just started learning python...
Following is an example from dive into python:

def info(object,spacing=10,collapse=1):
    """Print methods and doc strings.
    Takes module,class,list,dictionary or string."""
    methodList=[method for method in dir(object) if
callable(getattr(object,method))]
    processFunc=collapse and (lambda s: " ".join(s.split())) or (lambda s:s)
    print "\n".join(["%s %s"
%(method.ljust(spacing),processFunc(str(getattr(object,method).__doc__)))
for method in methodList])
if __name__=="__main__":
    print info.__doc__



now if i do the following:

li=[]
info(li)

i get the expected output

what i dont understand is the use of variable *processFunc* and i dont see
the lambda function being called anywhere.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20060706/d592ba57/attachment.html 


More information about the Tutor mailing list