鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[技术交流] 《零基础入门学习Python》勘误帖

[复制链接]
发表于 2018-2-28 15:45:57 | 显示全部楼层
本帖最后由 pythonH 于 2018-2-28 15:48 编辑

P12 3.5改进我们的小游戏 这一段(1)比如告诉用户当输入
应该改为"比如告诉用户当输入 "
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-2 11:12:01 | 显示全部楼层
我是纯新小白,P5介绍一段代码,认真自己敲完后,对input()、int(),两个BIF不慎了解,后面P7介绍了input()的作用,而int(),一直没有介绍,且后面改进小游戏中,int()用的也比较多,后来补视频时,隐约记得好像在视频中有提到一句,但是看视频这个限制很多,不能随书进行,建议在P7时介绍int()的作用,方便读者更快了解,虽然也可以促使自己上网查,我是读到P7看到没有介绍int(),就上午去查了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-20 12:18:31 | 显示全部楼层
Page 76 :  5.pop() 和 popitem()
‘pop()是给定键弹出对应的值,而popitem()是弹出一个项’
存在歧义,建议改成:
‘pop()是给定键弹出对应的项并返回对应的值,而popitem()是弹出一个项并返回对应的项’
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-23 10:08:22 | 显示全部楼层
惊雪 发表于 2017-11-10 09:55
p209进阶版本的那个封装类的第五行,fg=command=self.say_hi出错了吧,应该是fg="blue",command=self.say_h ...

我也看到这个错误了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-8 22:08:16 | 显示全部楼层

第27页4.10 break语句程序
第六行少了else:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-8 22:09:55 | 显示全部楼层
第15页 gossip拼写错误
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-10 19:06:40 | 显示全部楼层
P85页  上数第五行代码   f = open(file_name)   应该为 f = open('record.txt')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-12 08:50:52 | 显示全部楼层
0宇辰 发表于 2018-5-10 19:06
P85页  上数第五行代码   f = open(file_name)   应该为 f = open('record.txt')

书上是对的,那是在定义函数,函数的变量为:file_name
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-14 17:04:39 | 显示全部楼层
p89页,

图8-4下面,
另外 path 模块还提供了一些  ==>  另外 os 模块还提供了一些
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-15 11:07:33 | 显示全部楼层
p100,
倒数第二行,
print('出错啦' + str(reason))      
没有缩进
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-17 07:58:41 | 显示全部楼层
建议小甲鱼百忙当中抽点时间把这些错误校正了,这样也能让后面的人能买到错误少的书,也对得起大家所花的哪一点点钱。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-7-9 18:40:22 | 显示全部楼层
P100
最后一行:
fah = Fahrenheit() 没有缩进。

关于这个例子,我的思考如下:

定义的 Celsius类中:
__get__ 和 __set__ 函数中,不应该是 self.value,应该为 instance.value。
原因是self是描述符类自身的实例。instance 才是描述符拥有者所在的类(即 Temperature )的实例。
value 属性为 Celsius 实例对象所有。而 Temperature 类的实例对象没有属性,逻辑上有些不符合常理。
无论 Temperature 有几个实例,实例本身并没有 cel 和 fah 属性。
测试如下

>>>temp1 = Temperature()
>>>temp2 = Temperature()
>>>temp1.cel
26.0
>>>temp1.fah
78.80000000000001
>>>temp2.cel
26.0
>>>temp1.cel = 36
>>>temp2.cel
36.0
>>>temp1.__dict__
{}
>>>temp2.__dict__
{}
>>>Celsius().__dict__
{'value': 26.0}

建议在Temperature类中定义属性 cel 和 fah 的初始化,仅把 Celsius 和 Fahrenheit 作为一个描述符类,
像 property 一样,仅作为一个工具。就像使用 property()函数一样,理解起来更符合常理。
修改代码如下:

class Celsius:
        def __get__(self,instance,owner):
                return instance.value

        def __set__(self,instance,value):
                instance.value = float(value)

class Fahrenheit:
        def __get__(self, instance, owner):
                return instance.cel * 1.8 + 32

        def __set__(self, instance, value):
                instance.cel = (float(value) - 32) / 1.8



class Temperature:
        def __init__(self,value = 26):
                self.cel = float(value)
                self.fah = self.cel * 1.8 + 32

        cel = Celsius()
        fah = Fahrenheit()

测试如下:

>>>temp1 = Temperature()
>>>temp2 = Temperature()
>>>temp1.cel
26.000000000000007
>>>temp2.cel
26.000000000000007
>>>temp1.cel = 35
>>>temp2.cel
26.000000000000007
>>>temp1.__dict__
{'value': 35.0}
>>>temp2.__dict__
{'value': 26.000000000000007}
>>>Celsius().__dict__
{}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-13 16:41:22 | 显示全部楼层
P45页
"%10d" % 5
"5"
"%-10d" % 5
"5"
实际跑出来
>>> "%10d" % 5
'         5'
>>> "%-10d" % 5
'5         '
对人误导很大
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2018-7-28 16:27:41 | 显示全部楼层
p31
5.1.3
name[1],name[3] = name[3],name[1]应该加上括号吧,
(name[1],name[3]) = (name[3],name[1])
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-29 07:54:09 | 显示全部楼层
王丶不二 发表于 2018-7-28 16:27
p31
5.1.3
name[1],name[3] = name[3],name[1]应该加上括号吧,

加不加括号都对的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-4 18:11:55 | 显示全部楼层
p126
12.2.4 一元操作符
第二段
“Python支持的一元操作符主要有__neg__()(表示正号行为),__pos__()(定义负号行为)”

这里__neg__()和__pos__()的解释写反了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-18 14:09:13 | 显示全部楼层
本帖最后由 JessiFly 于 2018-8-19 17:13 编辑

p186
倒数第4段第二句
“这个容易,fandall()方法不就是找到所有匹配的内容......”

fandall()应为findall()


p198
14.8.2
第一段
“运行下列命令:
C:\scrapy startproject tutoria”
"tutorial"少写了一个"l"
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-11 21:21:20 | 显示全部楼层
我用的是重印的,还没发现,不过不用加空格的地方,就不要加空格
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-16 12:05:31 | 显示全部楼层
空格不要乱加!(感觉这是最重要的)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-24 12:22:16 | 显示全部楼层
本帖最后由 55363946 于 2018-11-24 12:23 编辑

3.9.2 浮点型那里
E应该是指底数为10,即1.5 * 10的十一次方,标准的E记法
但是书里写的是指数为10,也就是这样 【(1.5)十次方】11次方,意思就是100000000000个1.5相乘,
意思完全不一样
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-22 07:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表