Alexander- thanks for the tip as to sticking with Python 3. Steven, I greatly appreciate that breakdown. You're right about the error: it was a syntax error on that line; I'll make sure to include the descriptions in the future. As far as finding a new tutorial, I am going to see if Google's class works out with Python 3.1, and if not, I'll switch over to a different one.
-Alexander On Thu, Jul 28, 2011 at 10:27 PM, Steven D'Aprano <st...@pearwood.info>wrote: > Alexander Quest wrote: > >> To clarify, the particular file that was giving me trouble was the basic >> "hello world" file. The original code on line 29 read as such: print >> 'Hello', name >> When I ran "C:\google-python-exercises> python hello.py, it gave me an >> error >> on that line (line 29), but when I changed that line to print ('Hello', >> name), that is, including the parentheses, it printed out "hello world" as >> it should. I'm assuming that this means that one of the differences >> between >> Python 2.X and Python 3.X is that the print function necessitates >> parentheses in the latter versions but not in the former. >> > > > Yes, that is correct. > > To be a programmer (whether professional or amateur), you need to learn to > *pay attention to the error given*. "It gave me an error" is meaningless. > What does the error message say? > > In this case, I expect it is a SyntaxError. But you need to learn to read > the error message and understand what it is trying to tell you. Some errors > are cryptic and don't help, but generally speaking Python is pretty good > about giving useful error messages: > > > >>> a = [1, 2, 3] > >>> len a > File "<stdin>", line 1 > len a > ^ > SyntaxError: invalid syntax > > > Admittedly you do need to learn that Python functions require parentheses, > but apart from that, the error tells you what is wrong: you can't follow a > function len with another name a without something between them. This is > illegal syntax. > > > > > I am a bit >> confused as to why this is, assuming I am correct in my assumption above, >> because I was under the impression that code written for earlier python >> versions will work for later python versions, as is the case here. >> > > Not quite. It is (mostly) true for Python 1.x and 2.x, but Python 3 has > deliberately included some backwards incompatible changes. The biggest two > are that strings are now Unicode rather than byte strings, and that print is > now a function instead of a statement. So, yes, in Python 3 you have to call > it with parentheses. > > The differences are still quite minor -- think of Python 2.x and Python 3.x > being like the differences between American English and British English. > Provided you pay attention to the error messages, and remember to add round > brackets after print, tutorials for 2.x should still *mostly* work. > > > > I just wanted to add this info to clarify my last question regarding >> whether >> or not I should install Python 2.X and uninstall Python 3.1 that I have >> now, >> > > Personally, I would consider it wiser to find a Python 3 tutorial. Python 3 > is the future, and you will need to learn it eventually. > > > > > -- > Steven > ______________________________**_________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/**mailman/listinfo/tutor<http://mail.python.org/mailman/listinfo/tutor> >
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor