Learning Python, Third Edition by Mark Lutz The following errata were fixed in the digital version. This page was updated June 23, 2008. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification (xxxvii), 3rd bullet item, bad backquotes formatting In the Python 3.0 changes section, this bullet item describes the demise of the backquotes expression, but seems to show this using straight quotes. Backquotes are formatted properly later, on pages 96 and 136. (xxxix), 6th bullet item from page bottom, missing comma Also in the Python 3.0 section, a comma in program code was deleted, also somewhere in the production process. The "except name value" should read as "except name, value" as described later in the book (see pages 583, 594, 612, and 614). (5) on the first line; Python mplements should be: Python implements (72) first code block; ...error text omittted... should be: ...error text omitted... (132) Tip at top of page, 3rd line; No space between "of" and "small" in the line: "...mutable sequence ofsmall integers..." (175) 2nd full code block, 2nd comment; # This works: can chage mutables inside should be: # This works: can change mutables inside (226), first sentence on page, In the very first sentence on this page, the "rwords" should be "words" (233) sidebar "Why You Will Care: print and stdout", 3rd paragraph; ...it doesn't care what SYS.SYTDOUT is, only... should be: ...it doesn't care what SYS.STDOUT is, only... {305} paragraph 4, sentence 2; Sentence 2 of paragraph 4 on this page incorrectly states that the * operator, and hence the times function "will work on numbers (performing multiplication), two strings or a string and a number (performing repetition), or any other combination of objects supporting the expected interface". This is incorrect -- * works on two numbers, or a string and a number, but not on two strings. That is, string * string is not a valid operation. In fact, if you pass two strings into the times function, it generates an exception, the point of the next paragraph in the book. (456), in "Class Method Calls", transposed variable names In 2 spots of this section, I transposed the I1/I2 and C2/C3 variable names. The typo should be apparent from the surrounding text, but it could also be a bit confusing given the introductory nature of this section. Specifically: in this section's very first sentence, "C2.w" should be "C3.w"; in the last sentence of this section's second paragraph, "C3.w(I1)" should be "C3.w(I2)." (507), 2nd line from bottom of page, typo in code comment There is a case typo in the commented-out line here. It should read "#print C.m.X", with the uppercase