1.1.2节
“8×1024×1024×1024个元器件就可以表示1024MB,即1GB” 应该是“8×1024×1024×1024个元器件就可以表示1024MB,即1GB”
1.5.1节的 “缝十进一”应该是“逢十进一”
1.3.2 节的 “tom”应该是”atom”
文中的”python”换成了首写字母大写的“Python”。代码部分仍然是小写。
同样,文字叙述中的”lambda”改成了“Lambda”。(代码中仍然应该是小写字母开头)
2.1.1节的*
应该是*
2.7.2 倒数第3行,代码缺少缩进!
2.9习题的34题“绝对值小于10-5的-5应该是指数。
3.1.3的“形式参数(Parameters) (简称形参)”的引号应该是汉字的引号。
3.5 总结的“lmbda”应该是“Lambda”
4.3.2 “表示字符’的 '称为 转义字符” 应该是“表示的字符 '称为 转义字符”
图13.1和13.4改变了一下
3.4.4 ““(上面的)N-1”多了引号。应该改为:
(上面的)N-1个盘子的移动(从A柱借助于C柱移到B柱) 最大盘子的移动: 直接从A柱移到C柱 N-1个盘子的移动(从B柱借助于A柱移到C柱)
5.6.1 “更新数据并处理碰撞collosion()”的collosion应该是collision。
5.3.6 “从战机类Fighter派生出Enemy类和Boss类分别表示地方普通战机和大Boss战机”其中的”表示地方”应该是“表示敌方”。
“图5-11 敌我战机都克发射子弹”的“都克”应该是“都可”
7.2.2节: “不是一个整数而不是一个字符时”应该是“不是一个整数而是一个字符时”
习题7.4 第10题:“print(“Two”)”应该是“print(“TWO”)”
8.4其中的1的“只是在类的最后添加了一行代码“salary = property(getsalary,setsalary)”。” 其中“(getsalary,setsalary)”应该是“(get_salary,set_salary)”
9.2.2节上面第5行的”将元祖形式”应该是“将元组形式”、“转换为一个性如”应该是“转换为一个形如”
10.1.1 节下面第10行: “he is arat”应该是“he is a rat”
15.2 “selve”应该是”shelve”
1.5.2节的表1-3后面内容修改为:
表1-3是UniCode编码点和UTF-8编码的关系。
表1-3 UniCode编码点和UTF-8编码关系
UniCode(十六进制形式) UTF-8(二进制形式)
0000 0000-0000 007F 0xxxxxxx
0000 0080-0000 07FF 110xxxxx 10xxxxxx
0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
比如汉字的“中”的十六进制表示是“4E2D”,其二进制形式是“0100 1110 0010 1101”,其UniCode的值位于第3行的范围里,因此,其UTF-8编码占用的是3个字节,只要将其二进制位从后往前填入相应的’x’的位置就得到了其对应的UTF-8编码:11100100 10111000 10101101。
表1-4是字符A和汉字'中'的UniCode编码点及UTF-8编码。
表1-4 字符A和汉字'中'的UniCode编码点及UTF-8编码
字符 ASCII UniCode UTF-8
A 01000001 00000000 01000001 01000001
中 无 01001110 00101101 11100100 10111000 10101101
习题1.6
1) 标题后应该用’2.’而不是’2、’
另外习题3、4内容修改为:
3. 将十进制整数765431转换为十六进制,在十六进制形式下,如何将该数的二进制的第17位设置为1?最后写出对应的二进制形式。
4. 请在网上查询一下换行符、回车符、制表符和汉字‘汉’的Unicode编码点(值),然后根据表1-4写出其对应的UTF-8的编码。
4.1.3节: “浮点数在计算机硬件中被实现为二进制分数”这句话修改为“浮点数在计算机硬件中是用二进制近似表示的“
4.2.6 “Python的一切的都是对象”应该是“Python的一切都是对象” “list的pop()方法…”这段文字最后缺少了句号 “list的remove()方法删除特定的元素…”这段文字最后缺少了句号
P142页: “可以用过切片操作(slicing operator) 可访问一个范围里的多个元素”应为“可以用切片操作(slicing operator) 访问一个范围里的多个元素”
“图4-1 list对象的内存布局示意图”修改为“图4-1 list对象alist的内存布局示意图
4.7.3 “如果下一个状态不是最终状态,则最为新的当前状态”的“最为”修改为“作为”
习题4.8的47题:” 介绍了一个介绍了一个”应为” 介绍了一个”。 如图是建筑物”应该为“如图10-4是建筑物”
5.2.1 “可以在Employee的这个方法中认为地添加一条打印语句:”应该是“人为地” 5.2.3 “针对不同类的实例(对象)产生不同”其中的圆括号应该是中文的圆括号 5.2.4 代码的注释中“实际上未该实例创建了一个属性”应该是“为” 5.2.5 “但对如e2的实例属性name没有任何影响”不打通顺,修改为“但对其他实例如e2的实例属性name没有任何影响”
5.2.6
“尽管执行了“e.__salary = 8000.0 ”,但e.printInfo()的输出信息显示的salary仍然是7360.5,”其中的数字应该是7000和5000。“为什么又显示8000.0呢?”的数值也是7000。即:
“尽管执行了“e.__salary = 7000 ”,但e.printInfo()的输出信息显示的salary仍然是5000,说明不能直接访问修改对象的私有变量。然而最后一句的“print(e.__salary)” 为什么又显示7000呢?”
表5.1中的”In”应该是小写字母开头的“in”
5.2节最后的总结部分中“在创建一个类的对象(例)”应该是“(实例 )”
5.3.4 “称为“属性解析””应该用粗体: “称为“属性解析””
5.3.4 “只要调用上述函数就可以直到这个MRO线形序列。”应该是“得到”
5.3.4 总结:
“而依赖的类称为“父类””应该是“而其依赖的类称为“父类”” “遵循“深度优先,自右向左”的次序“应该是”“遵循“深度优先,自左向右”的次序”
5.4.1 修改了下面第二行: “ e.Print() 输出: Li Ping ” 将“输出”修改为“上述代码将print_name(self)函数绑定为e的实例方法。输出结果:”
5.4.2 ““为了使所有对象具有同一的属性”的“同一的”修改为“统一的”
5.5.2节,“这个一个结点包含2个指向左、右孩子结点的引用的表示法叫做“二叉链表”。”其中的““这个一个”修改为“这种一个”、“二叉链表”。设置为成粗体
5.5.3 节中每个代码片断的第一行注释有误:
#遍历T为根的左子树 def traverse_pre(T): 其中的注释应该是“# 先序遍历T为根的二叉树”。
#遍历T为根的左子树 def traverse_post(T): 其中的注释应该是“# 后序遍历T为根的二叉树”。
#遍历T为根的左子树 def traverse_mid(T): 其中的注释应该是“# 中序遍历T为根的二叉树”。
#遍历T为根的左子树 def depth(T): 其中的注释应该是“#后序遍历求T的深度(高度)”。
#在T为根的左子树插入x def insertBST(T,x): 其中的注释应该是“#在T为根的二叉树插入x”。
5.5.3 节: “加入中序遍历函数的名字叫做iot”的“加入”应该是“假如”
5.5.4 “如图5-12是通过不管插入数据元素”应该是“如图5-12是通过不断插入数据元素”
5.7习题的11题:“class Rectangle(Triangle):”应该是“class Triangle (Polygon):”
6.1.2 “该函数进行将对象以单行格式输出,” 应该为“该函数将对象以单行格式输出,” “例如下面代码中key=1的值输出在单行,而key=2的值则以多行输出。”修改为“例如下面代码中的list对象data的前2个元素以单行形式输出,而第3个元素则以多行形式输出。” “pprint()就可以输出这之类的对象”改为“pprint()就可以输出该类对象”
6.2 开头的应该用中文的圆括号(): 打开(open)一个文件 读(read)写(write)文件内容 关闭(close)这个文件
6.2.1 “频繁读写外部文件的小数据”改为“频繁地直接读写外部设备上的数据”,“大块数据读写到外部文件中”改为“大块数据读写到外部设备”。 “清空为0字节”改为“清空为0个字节”。 “’r + b’打开文件而不清空。”改为“’r + b’打开但不清空文件。”
表6-1字体改为“小六”
6.2.3 的注意部分: “即即f.read()”应为“即f.read()”
第7章第一行 “编程程序时”应为“编写程序时”
7.2.2上面第6行“此时,出现了异常!”应为“出现了异常!”
7.3.1 “用 print输出”少了函数的圆括号,应为“用 print()输出”。在该小节的代码后面总结里: “下次又要测试这个函数时,必须重新添加print语句”的print也少量圆括号。
7.3.2 “还可以在断言的后面用逗号,根一个表达式”该句的“根”应该是“跟”
7.3.4 “调试工具有:Pyflakes, pylint, PyChecker and pep8等”应为“调试工具有:Pyflakes、pylint、PyChecker 、pep8等” 最后一行语句“如何用pdb调试Python程序?可观看作者网站提供的视频课程。”修改为“建议用更专业的集成开发环境如PyCharm调试python程序。”
习题7.4 的第2题、第3题、第11题删除!
9.1.1 “将用pdf关脸的阅读程序”应为“将用pdf关联的阅读程序”
12.1.5 “高hight”应为“高height”
12.1.6节第2行: “这个时间处理函数”应为“这个事件处理函数”
12.1.10节: “如如12-10所示”应为“如图12-10所示”
13.2.2 的最后“服务器程序有2曾层循环”应为“服务器程序有2层循环”
13.4.2 的第一行“基于TCPServer的服务器程代码:”应为“基于TCPServer的服务器程序代码:”
13章标题应该为“第13章”
13章的第3行: “通信双方的编地问题”应为“通信双方的编址问题”
13.1 “套接字家族可以使AFUNIX或者AFINET”应为“套接字家族可以使AF_UNIX或者AF_INET”
14.1.4 的代码注释“# 构造一个openner对象”为“# 构造一个opener对象”,“# 安装 openner对象”为“# 安装 opener对象”
14.2.2 的代码“?P给3个分组分别起来名字”应为“?P给3个分组分别一个名字”
14.2.1 “数据加密:SSL、TLS和 STARTTLS”的第一行: “通信双方之间建议一个”应为“通信双方之间建立一个”
15.1 第一段“对于带load()函数”应为“对于load()函数”
第15章标题多了一个句号:“第15章.”应为“第15章”
习题8.7第7题插入了新的题目。
您的打赏是对我最大的鼓励!