Old Man Yells At Cloud

Chris Angelico rosuav at gmail.com
Wed Sep 20 11:50:42 EDT 2017


On Thu, Sep 21, 2017 at 1:06 AM, Dennis Lee Bieber
<wlfraed at ix.netcom.com> wrote:
> On Wed, 20 Sep 2017 10:08:18 +1000, Steve D'Aprano
> <steve+python at pearwood.info> declaimed the following:
>
>>For what its worth: from Python 3.5 (I think) onwards the error you get is
>>customized:
>>
>>py> print 1
>>  File "<stdin>", line 1
>>    print 1
>>          ^
>>SyntaxError: Missing parentheses in call to 'print'
>>
>
>         So... "print" (the function") is still a special case for the
> interpreter...

Yes, because of all the people migrating from Python 2. If print had
never been a statement, this special case wouldn't have been needed.
And it's only a special case in the handling of one specific exception
- at the point where you would otherwise get a generic error, it
checks to see if it could possibly be a Py2 print statement, and if
so, adjusts the text of the exception.

ChrisA



More information about the Python-list mailing list