python基础——task7打卡

练习题:

1、以下类定义中哪些是类属性,哪些是实例属性?
class C:
    num = 0
    def __init__(self):
        self.x = 4
        self.y = 5
        C.count = 6
  • num,C.count是类属性
  • self.x,self.y是实例属性
2、怎么定义私有⽅法?
  • 在 Python 中定义私有变量只需要在变量名或函数名前加上“__”两个下划线,那么这个函数或变量就会为私有的了。
3、尝试执行以下代码,并解释错误原因:
class C:
    def myFun():
        print('Hello!')
c = C()
c.myFun()
  • TypeError: myFun() takes 0 positional arguments but 1 was given
  • 缺少self参数,以下为正确写法
class C:
    def myFun(self):
        print('Hello!')
c = C()
c.myFun()
4、按照以下要求定义一个游乐园门票的类,并尝试计算2个成人+1个小孩平日票价。
  • 要求:
  • 平日票价100元
  • 周末票价为平日的120%
  • 儿童票半价
class Ticket():
    class Ticket():
    def __init__(self):
        self.weekday_price = 100
        self.weekend_price = self.weekday_price * 1.2
        
    def WeekdayPrice(self):
        self.adult = int(input('请输入成人数量:'))
        self.children = int(input('请输入儿童数量:'))
        print('总票价为:',self.adult*self.weekday_price + self.children*self.weekday_price/2)
    
    def WeekendPrice(self):
        self.adult = int(input('请输入成人数量:'))
        self.children = int(input('请输入儿童数量:'))
        print('总票价为:',self.adult*self.weekend_price + self.children*self.weekend_price/2)

t = Ticket()
t.WeekdayPrice()

'''请输入成人数量:2
请输入儿童数量:1
总票价为: 250.0'''

你可能感兴趣的:(python基础——task7打卡)