n = lambda x: print x

Warren Postma embed at geocities.com
Thu May 4 09:18:34 EDT 2000

In a moment of perverse glee, I decided to type the statement in to see what
it does.  The question I wondered was, if Python accepted this:

n = lambda x: print x

What would it do with this:

n = (lambda x: print x,y)

Is the comma part of the print statement, or would n become a tuple of two
values? :-)

Is the first construct s pecifically disallowed in the python grammar
somehow? print is a bit of a weirdball function in that it is invoked
without parenthesis. (The most BASIC-like feature of Python).

Could we in fact say that if fewer exceptions to rules makes a language
simpler then the PRINT statement is a bad idea and a PRINT( x,y,z) function
would have been a much better idea?

Why did Guido not parenthesize arguments to PRINT when designing Python?
Look, a Syn! Otherwise, this language is perfect. ;-) I love Python.


More information about the Python-list mailing list