2009/9/2 Chris Rebert <c...@rebertia.com> > On Wed, Sep 2, 2009 at 1:13 PM, Quentin Lampin<quentin.lam...@gmail.com> > wrote: > > 2009/9/2 Chris Rebert <c...@rebertia.com> > >> > >> On Wed, Sep 2, 2009 at 4:54 AM, Quentin Lampin<quentin.lam...@gmail.com > > > >> wrote: > >> > Hi, > >> > Being fairly new to Python, I'm trying to figure out the best way to > use > >> > the > >> > exec statement and I must admit that I am a bit lost. > >> > > >> > Consider this case: > >> > exec "print 'a'" in {},{} [exp.1] > >> > It means that I'm (kindly) asking the interpreter to execute the code > >> > string "print 'a'" with empty globals and locals. > >> > Considering that globals and locals are empty, I would expect [exp.1] > to > >> > raise an exception about 'print' not being known. > >> > >> In Python versions prior to 3.0, print is a statement (like for, > >> while, if, etc), not a function (note how you don't need parentheses > >> when using it); so it doesn't matter whether the built-in functions > >> are available or not, print will still work. > >> > >> Cheers, > >> Chris > >> -- > >> http://blog.rebertia.com > > > > Ok, thanks for the explanation. > > I'm really confused with print being a statement but it's seems that I > won't > > have to put too much effort on understanding why since 3.0 states the > > contrary. :p > > By the way, could you suggest me a link that explains why 3.0 changed > this. > > It might provide some material to understand the pros and cons of > "function > > statements". > > http://www.python.org/dev/peps/pep-3105/ (PEP 3105 -- Make print a > function) > http://mail.python.org/pipermail/python-dev/2005-September/056154.html > > Cheers, > Chris > -- > http://blog.rebertia.com >
Thanks a lot Chris! Quentin
-- http://mail.python.org/mailman/listinfo/python-list