Need reviews for my book on introductory python

Terry Reedy tjreedy at
Fri Jan 27 23:01:59 EST 2017

On 1/27/2017 6:12 PM, Ian Kelly wrote:
> On Jan 27, 2017 2:13 PM, "bob gailer" <bgailer at> wrote:
> On 1/26/2017 8:05 PM, Sandeep Nagar wrote:
>> Hi
>> As I mentioned, a scaled down version is available for free at
>> bookmuft.Com which can be used to judge in this case.
> Maybe I am blind, but I don't see any mention of bookmuft.Co.
> I pulled up the PDF from (which I also do not see mentioned in
> the original post).
> 2.1 page 15:
> "For example, suppose line 5 of a python program has syntax error, in this
> case the program will executes all commands till line 4 and will then show
> an error."

This is a run-on sentence, which is to say, two sentences.  Change 
'suntax,' to 'syntax.' and 'in' to ' In'.

> This is factually incorrect. A program with a syntax error will not be
> executed at all.
> The description of the Python interpreter is also pretty far from the
> truth. The interpreter does not read Python source code one line at a time
> as described. The interpreter only reads Python bytecode. At the point that
> the interpreter starts reading bytecode, the Python compiler has already
> compiled the entire source file into bytecode.
> This description only applies to CPython. Other Python implementations may
> work differently.
> Page 17:
> "When the programs compose of hundreds and thousands of lines, a
> compilation process will yield a faster result because the object code
> needs to be only compiled once and then run directly on microprocessor.
> Whereas an interpreted code will check for interpretations each time it
> needs to be processed."

"When programs are composed of ..."

> Again, it's only Python byte code that is interpreted. The actual Python
> source is compiled and does not need to be reprocessed each time a line of
> code is executed.
> 3.2, page 21:
> "logical: This type of data stores boolean values True or False boolean
> values and can be operated by boolean operators like AND, OR etc."
> The type is named "bool", not "logical".
> "Most programming languages use the values 1 or 0 for boolean values but
> python differs in this approach."
> It's not really important, but I disagree with that assessment of "most
> programming languages", at least in regard to modern or high-level ones.
> 3.3, page 22:
> "There are four types of numeric data types" (listing int, long, float and
> complex)

In 3.x, 'int' was delected and 'long' was renamed 'int'.

I strongly suggest that the next version be written for 3.x with 
2.x-only info either deleted or relegated to footnotes (or parenthetical 

Terry Jan Reedy

More information about the Python-list mailing list