Guido on python3 for beginners

Chris Angelico rosuav at gmail.com
Thu Feb 18 04:57:17 EST 2016


On Thu, Feb 18, 2016 at 7:40 PM, Terry Reedy <tjreedy at udel.edu> wrote:
> To my mind, the numerous duplications and overlaps in 2.7 that are gone in
> 3.x make 2.7 the worse version ever for beginners.

Hmm. I was teaching on 2.7 up until last year, and for the most part,
we taught a "compatible with Py3" subset of the language, without any
significant cost. If you'd shown code saying "except ValueError, e:"
to one of my Py2 students then, s/he would have been just as
unfamiliar as one of my Py3 students would be today. That said,
though, it's still that Py3 is no worse than Py2, and potentially
better.

The removal of L suffixes (and, similarly, the removal of u"..."
prefixes on text strings) is a bigger deal to newbies than it is to
experienced programmers, so that one definitely counts. "This is
great, but how can I remove that u from the strings?" was a common
question (eg when they're printing out a list of strings obtained from
a database, or decoded from JSON).

The removal of old-style classes is a definite improvement in Py3, as
is the no-arg form of super(), which I'd consider a related change. So
there's a bunch of tiny little "quality of life" improvements here.

ChrisA


More information about the Python-list mailing list