On Aug 18, 3:40 pm, Chris Rebert <c...@rebertia.com> wrote: > 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
I see what you're saying now. However, why am I able to use print as a function in general-purpose code in my Python 2.6 script, like so: def SomeFunction(): print( "Hello World" ) But, I am not able to do this: SomeFunction = lambda: print( "Hello World" ) ?????? Doesn't make sense. -- http://mail.python.org/mailman/listinfo/python-list