[Tutor] Hello, and a newbie question

Andy McKenzie amckenzie4 at gmail.com
Tue Apr 16 23:47:23 CEST 2013


On Tue, Apr 16, 2013 at 5:31 PM, Dave Angel <davea at davea.name> wrote:

> On 04/16/2013 05:20 PM, Andy McKenzie wrote:
>
>>
>>
>>      <SNIP>
>
>
>>>
>>>  Thanks for the advice, folks.  Given that it looks like the biggest
>> changes
>> are unicode handling (which I'm not going to need any time soon) and the
>> way the print function works, I decided to stick with 2.7.  I'm an IT guy,
>> though unemployed at the moment, and it occurred to me that "I'm familiar
>> with Python, but not the version your entire established codebase is in"
>> wasn't a great thing to have on a resume.
>>
>> Since it looks like the new formatting for print -- that is, print("Print
>> this stuff!") -- works fine in 2.7, I'm just getting myself used to doing
>> that from the beginning.
>>
>>
> The degenerate print, where you're printing exactly one thing, works the
> same.  But if you have two things to print, putting parens around them in
> Python 2.x will cause a tuple to be printed, rather than printing the two
> with a space between.
>
> >>> print(3,5)      -- version 2.x
> (3, 5)
>
> >>> print(3,5)      -- version 3.x
> 3 5
>
> To get 3.x functionality, you'd want to use
>     from __future__ import print_function
>
> and I do not think that works in 2.6 or older versions.  It also can be
> awkward even in 2.7 if you're mixing existing code with new print functions.
>
>
That's good to know, since I hadn't run into it yet.

So am I correct in understanding that I can just put the from __future__
import print_function in each new 2.7 script, and get identical
functionality to what happens in 3.x?  Or do I need to do that system-wide
somehow?

-Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20130416/62b56fae/attachment.html>


More information about the Tutor mailing list