鱼C论坛

 找回密码
 立即注册
查看: 2133|回复: 14

37课课后习题

[复制链接]
发表于 2016-5-16 11:57:10 | 显示全部楼层 |阅读模式
10鱼币
问题1:def __init__(self, weekend=False, child = False)已经定义了weekend=False, child = False  那后面的if weekend:   if child: 还有什么意义?
问题2: inc,discount变量没有被定义就直接使用,不知道什么意思
问题3: 并没有联系日期的代码.是不是周末还需要人工判断?
求大神解答 完全不懂
111111111111111111111111111111111111111111111.png

最佳答案

查看完整内容

python变量不用初始化,拿来就用,在__init__里已经赋值过了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-16 11:57:11 | 显示全部楼层
本帖最后由 挥舞乾坤 于 2016-5-16 13:47 编辑
竟无语凝噎 发表于 2016-5-16 12:57
第二个问题 主要是我没懂为什么可以不初始化:也就是没有先赋值。


python变量不用初始化,拿来就用,在__init__里已经赋值过了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-16 12:26:21 | 显示全部楼层
问题1 就是定义weekend和child为假 然后情况符合的时候为赋值为真 触发if
问题2 我其实想问为什么不能直接使用 这样不是很方便吗
问题3 这个题重点不在日期判断吧 __init__里不是有weekend为false吗

我是渣渣就是按自己理解回复一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-16 12:43:52 | 显示全部楼层
1、weekend=False, child = False是初始化weekend和child的值为false,16行中,建立child对象时候,不是将child值改为true了
2、Python的变量不需要定义
3、题目没要求判断日期,不是重点,人工判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-5-16 12:56:39 | 显示全部楼层
ebola11 发表于 2016-5-16 12:43
1、weekend=False, child = False是初始化weekend和child的值为false,16行中,建立child对象时候,不是将c ...

关于第二个问题 可能是我表述的不清楚。
应该是变量没有初始化就拿来用 类似count = 0 这样的初始化
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-5-16 12:57:22 | 显示全部楼层
pinro 发表于 2016-5-16 12:26
问题1 就是定义weekend和child为假 然后情况符合的时候为赋值为真 触发if
问题2 我其实想问为什么不能直接 ...

第二个问题 主要是我没懂为什么可以不初始化:也就是没有先赋值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-5-16 14:20:17 | 显示全部楼层
挥舞乾坤 发表于 2016-5-16 13:46
python变量不用初始化,拿来就用,在__init__里已经赋值过了

我说的是inc 和 discount
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-16 16:09:38 | 显示全部楼层
self.inc和self.discount不是变量,是类的属性,在类的定义里给出了,后面在创建类的实例的时候自动就初始化了。
inc应该是周末的时候票价是1.2倍吧
discount,如果是孩子票价五折
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-5-17 11:22:25 | 显示全部楼层
vpo1 发表于 2016-5-16 16:09
self.inc和self.discount不是变量,是类的属性,在类的定义里给出了,后面在创建类的实例的时候自动就初始 ...

然而并没有相应的说明~! 不理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-17 12:12:05 | 显示全部楼层
请再仔细看一下关于类的定义和说明
类在定义的时候是没有一个实例的,必须实例化才能有一个真正的对象。
不知道你需要什么说明?
或许真的需要面向对象的思维模式,如果你以前只是学过非面向对象的编程语言,可能这是必须要迈过去的一道坎
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-17 15:27:54 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-17 16:30:29 | 显示全部楼层
蹭蹭经验
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-16 09:30:56 | 显示全部楼层
vpo1 发表于 2016-5-16 16:09
self.inc和self.discount不是变量,是类的属性,在类的定义里给出了,后面在创建类的实例的时候自动就初始 ...

恍然大悟,我就说为毛没有self直接用exp就不行呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-10 10:20:15 | 显示全部楼层
我也说下我自己的理解
第一个  weekend=False, child = False 只是定义它的默认值  如后面没有修改,则采用默认参数,也就是是非周末的成人

第二个 inc ,discount在定义这个类的时候 也就定义了
例如运行时,在计算calcPrice时 会寻找self.inc这个值,向上寻找发现  self.inc=1        self.inc=1这一步就是定义了值  
再例如 当weekend=True 时 也会去定义一个self.inc的值  值为1.2
是不是我们在定义类的时候 , 类里面的对象也是在定义

第三个 日期判断 也就是判断weekend是为True  还是False  
例如child=Ticket(weekend=True,chile=True) 此时的child就是周末的小孩,因此后面打印出来的也因该是周末小孩的价格

我也是新手,这是我的理解, 如果有不对的地方 谢谢指出下 帮助我学习理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-11 00:06:41 | 显示全部楼层
waw1228@qq.com 发表于 2016-8-10 10:20
我也说下我自己的理解
第一个  weekend=False, child = False 只是定义它的默认值  如后面没有修改,则采用 ...

学习了,多谢分享。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 08:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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