n = lambda x: print x
Michael Hudson
mwh21 at cam.ac.uk
Thu May 4 09:52:29 EDT 2000
More information about the Python-list mailing list
Thu May 4 09:52:29 EDT 2000
- Previous message (by thread): n = lambda x: print x
- Next message (by thread): n = lambda x: print x
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Warren Postma" <embed at geocities.com> writes: > 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). It's not a function, it's a statement (like exec, though that was once a function). And you can't have statements in lambda expressions. FWIW, "lambda" binds tighter than ",": >>> lambda x:1,1 (<function <lambda> at 812a220>, 1) > 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? >From http:starship.python.net/crew/amk/quotations/python-quotes.html: I mean, just take a look at Joe Strout's brilliant little "python for beginners" page. Replace all print-statements with sys.stdout.write( string.join(map(str, args)) + "\n") and you'll surely won't get any new beginners. And That Would Be A Very Bad Thing. Fredrik Lundh, 27 Aug 1996 I.e. print is a convenience. Python generally emphasises consistency over convenience, but in this case, the convenience functionality is so convenient it has been included. > Why did Guido not parenthesize arguments to PRINT when designing Python? Maybe so you can do >>> print 1, ? I don't really know. > Look, a Syn! Otherwise, this language is perfect. No, it isn't; but there's another quote about Python that I like very much (I have lots of these): Python is a language that gets its compromises exactly right. I think that on was Don Beaudry, but I'm not sure. I'd like multimethods, myself. > ;-) I love Python. So do I. Cheers, Michael -- I saw `cout' being shifted "Hello world" times to the left and stopped right there. -- Steve Gonedes
- Previous message (by thread): n = lambda x: print x
- Next message (by thread): n = lambda x: print x
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list