[Tutor] Running files from command prompt

Alexander Quest redacted@example.com
Fri Jul 29 19:12:59 CEST 2011


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 <steve at 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 at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/**mailman/listinfo/tutor<http://mail.python.org/mailman/listinfo/tutor>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110729/3db7ddee/attachment.html>


More information about the Tutor mailing list
l>