美文网首页
作业Day16_类和对象(2)

作业Day16_类和对象(2)

作者: RiskHY | 来源:发表于2019-01-14 21:29 被阅读0次

    0.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]

    方法:

    a. 获取学生的姓名:getname()

    b. 获取学生的年龄:getage()

    c. 返回3门科目中最高的分数。get_course()

    class Student:
        def __init__(self, name, age, ch_score, math_score, en_score):
            self.name = name
            self.age = age
            self.ch_score = ch_score
            self.math_score = math_score
            self.en_score = en_score
    
        def get_name(self):
            print(self.name)
    
        def get_age(self):
            print(self.age)
    
        def get_course(self):
            max_score = max(self.ch_score, self.math_score, self.en_score)
            print(max_score)
    
    
    
    def main():
        stu = Student('stu1', '男', 78, 89, 90)
        stu.get_name()
        stu.get_age()
        stu.get_course()
    
    
    if __name__ == '__main__':
        main()
    

    1.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等成员变量,并通过不同的构造方法创建实例。至少要求 汽车能够加速 减速 停车。

    再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD等成员变量 覆盖加速 减速的方 法

    class Auto:
        def __init__(self, tire_num, color, weight, vel):
            self.tire_num = tire_num
            self.color = color
            self.weight = weight
            self.vel = vel
    
        def speed(self):
            print('一辆重{}顿有{}轮子{}的汽车,正在加速'.format(self.weight, self.tire_num, self.color))
    
        def slow_down(self):
            print('一辆重{}顿有{}轮子{}的汽车,正在减速'.format(self.weight, self.tire_num, self.color))
    
        def stop(self):
            print('一辆重{}顿有{}轮子{}的汽车,正在停车'.format(self.weight, self.tire_num, self.color))
    
    
    class CarAuto(Auto):
        def __init__(self, tire_num, color, weight, vel, air='美的空调', cd='cd'):
            super().__init__(tire_num, color, weight, vel)
            self.air = air
            self.cd = cd
    
        def speed(self):
            print('一辆重{}顿有{}轮子{}的有{}和{}汽车,正在加速'.format(self.weight, self.tire_num, self.color, self.air, self.cd))
    
        def slow_down(self):
            print('一辆重{}顿有{}轮子{}的有{}和{}汽车,正在减速'.format(self.weight, self.tire_num, self.color, self.air, self.cd))
    
    
    def main():
        auto = Auto(10, '蓝色', 15, 80)
    
        auto.speed()
        auto.slow_down()
        auto.stop()
    
        carauto = CarAuto(4, '橙色', 5, 120)
        carauto.speed()
        carauto.slow_down()
        carauto.stop()
    
    
    if __name__ == '__main__':
        main()  
    

    2.创建一个名为User 的类,其中包含属性firstname 和lastname ,还有用户简介通常会存储的其他几个属性。在类User 中定义一个名 为describeuser() 的方法,它打印用户信息摘要;再定义一个名为greetuser() 的方法,它向用户发出个性化的问候。
    管理员是一种特殊的用户。编写一个名为Admin 的类,让它继承User类。添加一个名为privileges 的属性,用于存储一个由字符串(如"can add post"、"can delete post"、"can ban user"等)组成的列表。编写一个名为show_privileges()的方法,它显示管理员的权限。创建一个Admin 实例,并调用这个方法。

    class User:
        def __init__(self, first_name, sex, age, last_name):
            self.first_name = first_name
            self.last_name = last_name
            self.sex = sex
            self.age = age
    
        def describeuser(self):
            print()
    
        def greetuser(self):
            print('Hello,{}'.format(self.last_name))
    
    
    class Admin(User):
        def __init__(self, *privileges,first_name, sex, age, last_name):
            super().__init__(first_name, sex, age, last_name)
            self.pri = list(privileges)
    
        def show_privileges(self):
            print('{}权限是{}'.format(self.last_name+self.first_name,self.pri))
    
    
    def main():
        user = User('hy', '男', 24, 'l')
        admin = Admin("can add post", "can delete post", "can ban user", first_name=user.first_name, sex=user.sex, age=user.age, last_name=user.last_name)
        admin.show_privileges()
    
    
    if __name__ == '__main__':
        main()  
    

    3.创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数

    import sys
    
    
    class Person:
        def __init__(self):
            pass
    
    
    def main():
        num1 = sys.getrefcount(Person)
        p1 = Person()
        p2 = Person()
        num2 =sys.getrefcount(Person)
        print('对象个数:{}'.format(num2-num1))
    
    
    if __name__ == '__main__':
        main()  
    

    相关文章

      网友评论

          本文标题:作业Day16_类和对象(2)

          本文链接:https://www.haomeiwen.com/subject/kvhsdqtx.html