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

Reply via email to