Yet another Python textbook

Terry Reedy tjreedy at
Tue Nov 20 22:34:14 CET 2012

On 11/20/2012 3:02 AM, Pavel Solin wrote:

>     previous page that Python 3 was released in 2008.  Is there any work
>     underway get Python 3 into NCLab?
> There is an ongoing discussion but we are not sure.
> Are there any reasons except for the print () command
> and division of integers?

(In addition to Ian's answer, which points to an already long list of 
new features...)

There are two separate questions.
First, which versions of Python should NCLab support? I would say both 
2.7 and 3.x+. Since Py3 support does not exist now, starting with 3.3+ 
might work best.

Second, if NCLab supported both, which to teach in the book? I would say 
3.3+. Python 3 has many improvements from a teaching standpoint.

For instance, old-style classes are gone, so class statements produce 
modern-style classes by default. You can just say that the headers

class C:
class C(object):

have the same effect and never mention that there was once a separate 
user-class system.

Py 3 used unicode for text, and 3.3 now has a correct and portable 
unicode implementation. While non-ascii and even non-latin1 characters 
are not needed for interfacing with ascii-only instruments, scientific 
text uses lots of them.

> Perhaps you are right. Is there any statistics of how many Python
> programmers are using 2.7 vs. 3? Most of people I know use 2.7.

Experienced Python programmers are not the target of your book. Many 
school/university classes have moved to Py3, and more will in the future.

Many people who want to move to Py3 cannot because they *have to use* a 
Py2-only library.

Terry Jan Reedy

More information about the Python-list mailing list