On Tue, Aug 18, 2009 at 1:32 PM, Robert Dailey<rcdai...@gmail.com> wrote: > On Aug 18, 3:31 pm, Duncan Booth <duncan.bo...@invalid.invalid> wrote: >> Robert Dailey <rcdai...@gmail.com> wrote: >> > Hello, >> >> > I want to simply wrap a function up into an object so it can be called >> > with no parameters. The parameters that it would otherwise have taken >> > are already filled in. Like so: >> >> > print1 = lambda: print( "Foobar" ) >> > print1() >> >> > However, the above code fails with: >> >> > File "C:\IT\work\distro_test\distribute_radix.py", line 286 >> > print1 = lambda: print( "Foobar" ) >> > ^ >> > SyntaxError: invalid syntax >> >> > How can I get this working? >> >> def print1(): >> print "Foobar" >> >> It looks like in your version of Python "print" isn't a function. It always >> helps if you say the exact version you are using in your question as the >> exact answer you need may vary. > > I'm using Python 2.6. And using the legacy syntax in the lambda does > not work either. I want to avoid using a def if possible. Thanks.
ch...@morpheus ~ $ python Python 2.6.2 (r262:71600, May 14 2009, 16:34:51) [GCC 4.0.1 (Apple Inc. build 5484)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> print1 = lambda: print( "Foobar" ) File "<stdin>", line 1 print1 = lambda: print( "Foobar" ) ^ SyntaxError: invalid syntax >>> from __future__ import print_function >>> print1 = lambda: print( "Foobar" ) >>> print1() Foobar Cheers, Chris -- http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list