|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- <p>class Ticket():
- def __init__(self, weekend=False, child=False):
- self.exp = 100
- if weekend:
- self.inc = 1.2
- else:
- self.inc = 1
- if child:
- self.discount = 0.5
- else:
- self.discount = 1
- def calcPrice(self, num):
- return self.exp * self.inc * self.discount * num
- >>> adult = Ticket()
- >>> child = Ticket(child=True)
- >>> print("2个成人 + 1个小孩平日票价为:%.2f" % (adult.calcPrice(2) + child.calcPrice(1)))
- 2个成人 + 1个小孩平日票价为:250.00</p><p>这个代码中有几个问题不太清楚</p><p>1:第15~16行赋值给变量的时候为什么后面Ticket括号里面一个什么都没有,一个要加child=True呢?这两个括号里面的内容分别是什么意思?为什么要这杨赋值啊2.在第二行的代码中用到了__int__这个函数在这里有什么作用呢?3.第二行后面定义变量的时候为什么weekend和child都赋值是false呢
- </p>
复制代码
1:第15~16行赋值给变量的时候为什么后面Ticket括号里面一个什么都没有,一个要加child=True呢?
你看Ticket 类的 __init__方法设置的默认参数:__init__(self, weekend=False, child=False) 已经设置默认参数了,所以可以不传入参数
而这两个参数是干嘛的呢?是用来判断是否是周末 和是否是小孩的 你看 init 下面 if weekend 和 if child 就是判断这些条件
所以这里如果调用 adult = Ticket() 什么参数都不传入 那么说明你买的门票既不是儿童票,也不是周末的票
而第二个实例就是把 设置为小孩的意思,所以买的就是小孩的票价
这两个括号里面的内容分别是什么意思?为什么要这杨赋值啊 - def __init__(self, weekend=False, child=False):
- self.exp = 100
- if weekend:
- self.inc = 1.2
- else:
- self.inc = 1
- if child:
- self.discount = 0.5
- else:
- self.discount = 1
复制代码
你把 True 或者 False 代入 加上题意 理解代码,参数就是默认既不是小孩也不是周目的意思, 你重新赋值为 True 就说明周末或者 小孩的条件成立了,就买的是这些专门的票
而且不止可以赋值 True 你还可以赋值 任何 bool 类型值为 True 的值表示条件成立
2.在第二行的代码中用到了__int__这个函数在这里有什么作用呢?
__init__ 设置了函数可传入的参数 weekend 和 child 如果没有设置,那么这个类就无法传入参数
而且 __init__ 通过传入的参数重新初始化对应的打折折扣
3.第二行后面定义变量的时候为什么weekend和child都赋值是false呢
设置为 False 意思就是买的票 默认既不是小孩也不是周末的意思
|
|