473,287 Members | 1,629 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,287 software developers and data experts.

Why Turn "Print" into "Print()"????


Hi, your friendly neighborhood n00b here, just wondering why on earth
the Py3K folks want to mess with a simple thing like the "print"
"command" (is that what it's called, a command?), turning it into
"print()"...I mean, what's the point, exactly?? To look like a more
"traditional" computer-language format?

And what's with not supporting the so-called softspace "feature" of
the current "print" command, where a space after a comma, like
>>>print "A\n", "B"
outputs
>>>A\nB\n
but with Py3K it will be
>>>print("A\n", "B")
returning
>>>A\n B\n
????

I was all excited to start learning the language, when suddenly I find
out that a new version is slated for release late summer/early fall
this year -- a new version which is not only not backwards-compatible
with previous versions in many important ways, but even when it comes
to a little thing like the "print" command!!

What's up with that??
Jun 27 '08 #1
10 1561
On May 25, 8:26 pm, Prisoner at War <prisoner_at_...@yahoo.comwrote:
Hi, your friendly neighborhood n00b here, just wondering why on earth
the Py3K folks want to mess with a simple thing like the "print"
"command" (is that what it's called, a command?), turning it into
"print()"...I mean, what's the point, exactly?? To look like a more
"traditional" computer-language format?

And what's with not supporting the so-called softspace "feature" of
the current "print" command, where a space after a comma, like
>>print "A\n", "B"

outputs
>>A\nB\n

but with Py3K it will be
>>print("A\n", "B")

returning
>>A\n B\n

????

I was all excited to start learning the language, when suddenly I find
out that a new version is slated for release late summer/early fall
this year -- a new version which is not only not backwards-compatible
with previous versions in many important ways, but even when it comes
to a little thing like the "print" command!!

What's up with that??
See http://www.python.org/dev/peps/pep-3105/
That should answer all your questions.
Jun 27 '08 #2
On May 25, 8:37 pm, "drobi...@gmail.com" <drobi...@gmail.comwrote:
>

See http://www.python.org/dev/peps/pep-3105/
That should answer all your questions.
Hey, thanks, I missed that one!

Not that I understand the rationale given (iman00b), but oh well, so
it looks like a real function now.

Might you have any idea, BTW, whether the upcoming "Head First
Programming" from O'Reilly, coming in August, will cover Python 3??
Unlikely, right? Unless maybe if that guy Vern Ceder (the author) is
active in the Python development community??

I'd already pre-ordered the book...but it makes no sense to get a book
on "old" Python 2.x if it's just going to get deprecated in like a
year or two! Then again, current Python programs would still work,
right? I mean, once it's been done up as an executable...PySol or
something should still work, right? (Sorry, iman00b, I don't really
know how this stuff works....)
Jun 27 '08 #3
En Mon, 26 May 2008 02:06:02 -0300, Prisoner at War <pr*************@yahoo.comescribió:
Might you have any idea, BTW, whether the upcoming "Head First
Programming" from O'Reilly, coming in August, will cover Python 3??
Unlikely, right? Unless maybe if that guy Vern Ceder (the author) is
active in the Python development community??

I'd already pre-ordered the book...but it makes no sense to get a book
on "old" Python 2.x if it's just going to get deprecated in like a
year or two! Then again, current Python programs would still work,
right? I mean, once it's been done up as an executable...PySol or
something should still work, right? (Sorry, iman00b, I don't really
know how this stuff works....)
The differences aren't so fundamental or important: it's not an entirely new language, just some ugly old things are being removed or changed in incompatible ways (at *some* time it was supposed to happen - but could not happen on the 2.x series which has to remain backwards compatible)
Also, Python 3.0 will be released simultaneously with 2.6, and there will be other 2.x releases. Python 2 won't magically disappear from Earth, I don't think Linux distros will come with Python 3.0 by default anytime soon (perhaps not before 3.1).
So learning Python with a book targeted to 2.5 isn't a waste of time - not at all.
(This subject has already been discussed several times in this group.)

--
Gabriel Genellina

Jun 27 '08 #4
On May 26, 1:37 am, "Gabriel Genellina" <gagsl-...@yahoo.com.ar>
wrote:
>

The differences aren't so fundamental or important: it's not an entirely new language, just some ugly old things are being removed or changed in incompatible ways (at *some* time it was supposed to happen - but could not happen on the 2.x series which has to remain backwards compatible)
Also, Python 3.0 will be released simultaneously with 2.6, and there will be other 2.x releases. Python 2 won't magically disappear from Earth, I don't think Linux distros will come with Python 3.0 by default anytime soon (perhaps not before 3.1).
But I'd read that Python 3 is very different in many important ways.
I read it right there on the Py3K site! I can't make sense of how,
why, even what, exactly, but that's not a misimpression on my part, I
certain nonetheless...it's not just cosmetic changes but important
ones pertaining to a sort of "linguistic logic" I gather....
So learning Python with a book targeted to 2.5 isn't a waste of time - not at all.
Well, I will be learning Python from the excellent materials available
online, to be sure, but a book that I spend money for, well, I have
"higher standards" for it, you know, one of which is that it doesn't
get superseded so soon!
(This subject has already been discussed several times in this group.)
Oops, sorry! Just thinking aloud a logical follow-up question....
--
Gabriel Genellina
Jun 27 '08 #5
Prisoner at War wrote:
On May 26, 1:37 am, "Gabriel Genellina" <gagsl-...@yahoo.com.arwrote:
>>

The differences aren't so fundamental or important: it's not an entirely
new language, just some ugly old things are being removed or changed in
incompatible ways (at *some* time it was supposed to happen - but could
not happen on the 2.x series which has to remain backwards compatible)
Also, Python 3.0 will be released simultaneously with 2.6, and there will
be other 2.x releases. Python 2 won't magically disappear from Earth, I
don't think Linux distros will come with Python 3.0 by default anytime
soon (perhaps not before 3.1).

But I'd read that Python 3 is very different in many important ways.
Yes, and that is the reason it is version 3.x instead of another 2.x. Moving
to version 3 signals that some changes were done that are _not_ backward
compatible and not even intended to.
I read it right there on the Py3K site! I can't make sense of how,
why, even what, exactly, but that's not a misimpression on my part,
I certain nonetheless...it's not just cosmetic changes but important
ones pertaining to a sort of "linguistic logic" I gather....
Well, cosmetic or important is always in the eye of the beholder. I
personally would say that they are important cosmetic changes. You don't
get any new features or a more Touring-complete language suddenly, but it
will be much more consistent because it doesn't have to maintain wrong
decisions of the past, like making 'print' a separate statement when a
function would do.
>So learning Python with a book targeted to 2.5 isn't a waste of time -
not at all.

Well, I will be learning Python from the excellent materials available
online, to be sure, but a book that I spend money for, well, I have
"higher standards" for it, you know, one of which is that it doesn't
get superseded so soon!
As already pointed out, Python 2 will not suddenly cease to exist and
knowledge about it won't suddenly be worthless either. I guess it will take
a few years until the use of Python 3 supercedes that of Python 2.

Uli

--
Sator Laser GmbH
Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932

Jun 27 '08 #6
On May 26, 7:21 pm, Prisoner at War <prisoner_at_...@yahoo.comwrote:
But I'd read that Python 3 is very different in many important ways.
I read it right there on the Py3K site! I can't make sense of how,
why, even what, exactly, but that's not a misimpression on my part, I
certain nonetheless...it's not just cosmetic changes but important
ones pertaining to a sort of "linguistic logic" I gather....
Well, let's see what Guido says about the issue:

Q. I want to learn Python. Should I learn Python 2.6 or Python 3.0?

A. Definitely learn Python 2.x (the latest version out is 2.5). I
expect it'll be two years before you'll need to learn Python 3.0, and
the differences aren't that great from a beginner's perspective: most
of what you'll learn about 2.x will still hold about 3.0.

(from http://www.artima.com/weblogs/viewpo...?thread=211200)
Jun 27 '08 #7

"alex23" <wu*****@gmail.comwrote in message
news:b3**********************************@z16g2000 prn.googlegroups.com...
| On May 26, 7:21 pm, Prisoner at War <prisoner_at_...@yahoo.comwrote:
| But I'd read that Python 3 is very different in many important ways.
| I read it right there on the Py3K site! I can't make sense of how,
| why, even what, exactly, but that's not a misimpression on my part, I
| certain nonetheless...it's not just cosmetic changes but important
| ones pertaining to a sort of "linguistic logic" I gather....

One important different for beginners is the elimination of old ways that
no longer need be learned. Another is that a few inconsistencies have be
ironed out.

| Well, let's see what Guido says about the issue:
|
| Q. I want to learn Python. Should I learn Python 2.6 or Python 3.0?
|
| A. Definitely learn Python 2.x (the latest version out is 2.5). I
| expect it'll be two years before you'll need to learn Python 3.0, and
| the differences aren't that great from a beginner's perspective: most
| of what you'll learn about 2.x will still hold about 3.0.
|
| (from http://www.artima.com/weblogs/viewpo...?thread=211200)

My personal view is a little different. Learn 3.0 unless you have a reason
to learn 2.x (and there are many possible ;-). Guido wrote the above
nearly a year ago, before either existed to be learned. As it turned out,
a decision was made to backport most of the new features of 3.0 into 2.6 to
ease the transition. Consequently, 2.6 is in some sense the union of 2.5
and 3.0, so that there is more to learn. This is not a problem for Guido,
but I can easily imagine that the extra duplication of function might be
for a new learner, let alone someone like me who liked Python for its
relative smallness. I personally have no perceived need and hence no plans
to ever touch 2.6. So, depending on circumstances, again, I might suggest
2.5 instead of 2.6.

tjr

Jun 27 '08 #8
print a statement

let's make it import() if() (C freaks) except() else() what else()

It was just convenient to not have to write those parenthesis

I agree with the OP, of course if you wrote my post after I began look
into this

Parentheses for the people..

I mean, it's not that.... making it a function?

Well I'd have suggested, make a function and call it write()

The name print is a misnormer any case

So it keeps a misleading name and make it a function, thinks it is a
cleanup

Just Add a write() builtin function so can we use that if we want a
function

but keep the print statement, the import statement, the if statement,
the for statement...

Dont make they functions. Or is this just to throw us out?

S...
On May 26, 12:20 pm, Ulrich Eckhardt <eckha...@satorlaser.comwrote:
Prisoner at War wrote:
On May 26, 1:37 am, "Gabriel Genellina" <gagsl-...@yahoo.com.arwrote:
The differences aren't so fundamental or important: it's not an entirely
new language, just some ugly old things are being removed or changed in
incompatible ways (at *some* time it was supposed to happen - but could
not happen on the 2.x series which has to remain backwards compatible)
Also, Python 3.0 will be released simultaneously with 2.6, and there will
be other 2.x releases. Python 2 won't magically disappear from Earth, I
don't think Linux distros will come with Python 3.0 by default anytime
soon (perhaps not before 3.1).
But I'd read that Python 3 is very different in many important ways.

Yes, and that is the reason it is version 3.x instead of another 2.x. Moving
to version 3 signals that some changes were done that are _not_ backward
compatible and not even intended to.
I read it right there on the Py3K site! I can't make sense of how,
why, even what, exactly, but that's not a misimpression on my part,
I certain nonetheless...it's not just cosmetic changes but important
ones pertaining to a sort of "linguistic logic" I gather....

Well, cosmetic or important is always in the eye of the beholder. I
personally would say that they are important cosmetic changes. You don't
get any new features or a more Touring-complete language suddenly, but it
will be much more consistent because it doesn't have to maintain wrong
decisions of the past, like making 'print' a separate statement when a
function would do.
So learning Python with a book targeted to 2.5 isn't a waste of time -
not at all.
Well, I will be learning Python from the excellent materials available
online, to be sure, but a book that I spend money for, well, I have
"higher standards" for it, you know, one of which is that it doesn't
get superseded so soon!

As already pointed out, Python 2 will not suddenly cease to exist and
knowledge about it won't suddenly be worthless either. I guess it will take
a few years until the use of Python 3 supercedes that of Python 2.

Uli

--
Sator Laser GmbH
Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932
Jun 27 '08 #9
On May 27, 5:47 pm, Sverker Nilsson <s...@sncs.sewrote:
Dont make they functions. Or is this just to throw us out?
Have you even bothered to read the reasoning for this change since the
last time you got your knickers twisted over it?

http://www.python.org/dev/peps/pep-3105/#rationale

I don't see "piss everyone off" listed there anywhere.

Personally, I believe if you're writing code of any serious length,
you generally shouldn't be using 'print' anyway, using the logging
module allows for a lot more flexibility.

If you're bothered by having to type the parentheses while in the
interpreter, try using IPython with it's autocall mode turned on.
Jun 27 '08 #10
On May 27, 12:14 pm, Sverker Nilsson <s...@sncs.sewrote:
I had bothered. Volunterly that is too. Becausa I care.

Should we piss of about py3k? It's a debate.
I suggest you try and drum up some support for your
position. If you don't get much, then maybe you should
reconsider your stance? And if you do, then you as a group
might find a more effective way to persuade others to
change.

- Paddy.
Jun 27 '08 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: vegetax | last post by:
How can i use cgi'like print statement in a multitreaded web framework? each thread has its own Servlet instance with request/response objects, sys.stdout = self.response(which is a file like...
3
by: Albert Wagner | last post by:
I have just had a problem that I cannot find any reference to in any docs. Admittedly, I am a JavaScript newbie, but this sure seems like a bug or an "undocumented feature" in Opera 7.11. I have...
16
by: John Baker | last post by:
HI; I feel like a fool..I put CUTE FTP in my last request for help --it should have been CUTE PDF! I have FTP on my mind because I have been working on a web based application, and somehow my...
5
by: Paul Sullivan | last post by:
We are a state agency that views protected medical information via our intranet. The screens even have privacy shields. Alarmingly, uses can "Print" and "Save As" which destroys the protection of...
1
by: Steff | last post by:
I am wandering if my code is making sense... I use a lot the print function. Is it weird in this case where I have to display an array ? I thought it would be better to have the entire array in php...
2
by: kbperry | last post by:
Hi all, I am getting an error message when trying to use the P4 print command via the python api for perforce. Anytime that I run p4c.run("print","-q", eachFile), I keep getting an error...
1
by: Appu | last post by:
How to Check in the window print dialog box whether we clicked either "print" or "cancel". while clicking a button i call wnidow.print() to pop up the windows PRint Dialog box. I want to check...
4
by: Gilles Ganault | last post by:
Hello I'm puzzled as to why PHP (5) prints this (under FreeBSD 6.3): ========= #!/usr/local/bin/php <?php $dbh = new PDO("sqlite:test.sqlite"); $sql = "CREATE TABLE IF NOT EXISTS calls...
2
by: sixtyfootersdude | last post by:
Good Morning! I am just starting to learn perl and I am somewhat mistifide about when I should do: print("@input"); and when I should do: print(@input)
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 7 Feb 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:30 (7.30PM). In this month's session, the creator of the excellent VBE...
0
by: DolphinDB | last post by:
The formulas of 101 quantitative trading alphas used by WorldQuant were presented in the paper 101 Formulaic Alphas. However, some formulas are complex, leading to challenges in calculation. Take...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: marcoviolo | last post by:
Dear all, I would like to implement on my worksheet an vlookup dynamic , that consider a change of pivot excel via win32com, from an external excel (without open it) and save the new file into a...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.